파이썬에서 파일의 첫 줄만 문자열로 어떻게 얻을 수 있습니까?
답변
이 .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
줄 끝에 문자가 포함되지 않지만 어쨌든 원하지 않는다고 가정합니다 (한 줄 파일에는 없을 수도 있음). 또한 매우 짧고 빠르지 만 데이터의 사본을 만들므로 실제로 많은 메모리가있는 경우이를 “효율적인”것으로 간주하지 않을 수 있습니다. 항상 그렇듯이 그것은 …