파이썬에서 파일 내용을 한 줄씩 인쇄하려고 시도했지만 열려있는 파일을 f.seek로 되감습니다. 다음 F : 나는 개방 ("FILE_NAME"를 사용하는 경우 나 F로)이 작업을 수행 할 수 을하지만 : 0)는 파일이 열려있는 ("FILE_NAME"로 열 경우 F로) 내용을 인쇄하기 .seek (0)python에서 open()을 사용한 후 열린 파일을 탐색하여 되감기를 할 수 없습니다.
다음은 내 코드입니다
with open("130.txt", "r") as f: #f is a FILE object
print (f.read()) #so f has method: read(), and f.read() will contain the newline each time
f.seek(0) #This will Error!
with open("130.txt", "r") as f: #Have to open it again, and I'm aware the indentation should change
for line in f:
print (line, end="")
f = open("130.txt", "r")
f.seek(0)
for line in f:
print(line, end="")
f.seek(0) #This time OK!
for line in f:
print(line, end="")
저는 파이썬 초보자입니다. 아무도 말해 줄 수 없나요?
감사합니다 : 귀하의 코멘트에서
,이 경우 * 아직 보이는 것. 나를 파이썬으로 전환하기 힘든 시간. –
Yifangt
with
는 다음과 같이 대한 문법 설탕입니다! 첫 번째 FILE 개체 ** f **가 사라지 나 없습니까? * type (f) * 가지고있어 : *'f'가 여전히 존재하고 파일 핸들을 감싸는 래퍼를 참조 할 것이지만 실제로 래핑 된 핸들은 닫혀있을 것이므로 후속 호출이 이루어지면 실패 할 것입니다. 분명히'f'가'with' 블록으로 범위 화되기를 바랍니다. 그러나 파이썬은 그런 종류의 일로 다소 느슨합니다. – ryachza
내가보기에, 처리기는 여전히 있지만 처리 된 내용이 닫혔습니다. 문제가 해결되었습니다! 고마워요! – Yifangt