반응형
파일의 첫 줄만 읽습니까?
파이썬에서 파일의 첫 줄만 문자열로 어떻게 얻을 수 있습니까?
이 .readline()
방법을 사용하십시오 ( Python 2 docs , Python 3 docs ).
with open('myfile.txt') as f:
first_line = f.readline()
몇 가지 참고 사항 :
- 문서에서 언급했듯이 파일의 유일한 줄이 아닌 경우 반환 된 문자열
f.readline()
에는 줄 바꿈 문자가 포함됩니다.f.readline().strip()
줄 바꿈을 제거 하기 위해 대신 사용할 수 있습니다 . with
문은 자동으로 다시 때 블록의 끝을 파일을 닫습니다.- 이
with
문장은 Python 2.5 이상에서만 작동하며 Python 2.5에서는 사용해야합니다.from __future__ import with_statement
- Python 3에서는 열려는 파일의 파일 인코딩을 지정해야합니다. 더 읽어보기 ...
infile = open('filename.txt', 'r')
firstLine = infile.readline()
fline=open("myfile").readline().rstrip()
이것은해야합니다 :
f = open('myfile.txt')
first = f.readline()
열린 파일의 시작 부분으로 돌아가서 첫 번째 줄을 반환하려면 다음과 같이하십시오.
my_file.seek(0)
first_line = my_file.readline()
first_line = next(open(filename))
여기에 많은 다른 대답이 있지만 @MarkAmery가 원래 질문을 편집하고 의미를 변경하기 전에 요청한 질문에 정확하게 대답 합니다 .
>>> f = open('myfile.txt')
>>> data = f.read()
>>> # I'm assuming you had the above before asking the question
>>> first_line = data.split('\n', 1)[0]
즉, 이미 파일에서 읽었고 메모리에 큰 데이터 블록이 있으면 첫 번째 줄을 효율적으로 얻으려면 줄 바꿈 문자에서 split ()을 한 번 수행하십시오. 결과 목록에서 첫 번째 요소를 가져옵니다.
여기에는 \n
줄 끝에 문자가 포함되지 않지만 어쨌든 원하지 않는다고 가정합니다 (한 줄 파일에는 없을 수도 있음). 또한 짧고 빠르지 만 데이터의 복사본을 만들므로 실제로 큰 메모리가 필요한 경우 "효율적인"것으로 간주하지 않을 수 있습니다. 항상 그렇듯이 그것은 ...
해결책 1 :
with open('input_file.txt') as input_file:
lines=input_file.readlines()
for line_no, line in enumerate(lines):
if line_no == 0:
print(line)
break
lines
에서 모든 라인을 포함input_file.txt
line_no
파일에서 줄 번호를 줄 것입니다- (가) 경우
line_no
0 인덱스는 0부터 시작, 제 라인이 인쇄 될 - 마찬가지로 두 번째 줄을 원한다면 쓸 수 있습니다
if line_no==1
해결책 2 :
with open('input_file.txt') as input_file:
lines=input_file.readlines()
first_line=lines[0]
print(first_line)
lines[0]
첫 번째 줄입니다.- 마찬가지로
lines[1]
두 번째 줄입니다
해결책 3 :
첫 N
줄을 인쇄하십시오 . N
임의의 숫자로 교체하십시오 . 첫 줄을 원하면 N = 1
from itertools import islice
with open('my_file.txt','r') as my_file:
head = list(islice(my_file, N))
print(head)
이것은 유닉스 명령의 동등한 코드입니다 head
해결책 4 :
with open('input.txt', 'r') as fin:
head, tail = fin.read().split('\n', 1)
print(head)
#print(tail)
f1 = open("input1.txt", "r")
print(f1.readline())
참고 URL : https://stackoverflow.com/questions/1904394/read-only-the-first-line-of-a-file
반응형
'Programing' 카테고리의 다른 글
FormData를 검사하는 방법? (0) | 2020.05.22 |
---|---|
목록의 내용을 가져 와서 다른 목록에 추가 (0) | 2020.05.22 |
JUnit을 사용한 단위 테스트를위한 IntelliJ IDEA 구성 (0) | 2020.05.22 |
프로토콜 버퍼 3에서 필수 및 옵션이 제거 된 이유 (0) | 2020.05.22 |
위의 디렉토리에있는 Python 클래스를 가져 오는 방법은 무엇입니까? (0) | 2020.05.22 |