> 백엔드 개발 > 파이썬 튜토리얼 > 첫 번째 통과 후 Python 파일 반복이 실패하는 이유는 무엇입니까?

첫 번째 통과 후 Python 파일 반복이 실패하는 이유는 무엇입니까?

DDD
풀어 주다: 2024-12-04 05:09:14
원래의
348명이 탐색했습니다.

Why Does My Python File Iteration Fail After the First Pass?

초기 통과 후 파일 반복의 어려움

프로그래밍 시 파일 반복은 일반적인 작업입니다. 그러나 때로는 예상치 못한 동작이 발생할 수 있습니다. 이 경우 Python에서 파일을 반복하면 처음에는 작동하지만 이후에는 출력이 생성되지 않습니다. 이는 다음 코드로 예시됩니다.

import codecs
file = codecs.open('baby1990.html', 'r',encoding='utf-8', errors='ignore')
for line in file.readlines():
    print(line)
로그인 후 복사

이 코드를 실행하면 파일 내용이 올바르게 인쇄됩니다. 그러나 file.readlines()에서 for line을 사용하여 동일한 파일을 반복하려는 두 번째 시도는 출력을 생성하지 않습니다.

이 동작은 파일 반복의 특성에서 비롯됩니다. 파일을 반복할 때 파일 읽기를 담당하는 포인터는 파일 끝에 도달할 때까지 전진합니다. 초기 반복에서는 포인터가 파일의 시작부터 끝까지 진행됩니다. 두 번째 반복을 시도할 때 포인터는 여전히 파일 끝에 있고 더 이상 읽을 데이터가 없습니다.

이 문제를 해결하려면 파일 포인터를 시작 부분으로 재설정해야 합니다. 이는 f.seek(0) 메서드를 사용하여 명시적으로 포인터 위치를 변경하거나 파일을 닫았다가 다시 여는 방식으로 수행할 수 있습니다.

또는 Python의 with 문을 사용할 수도 있습니다. 실행하여 파일 포인터가 재설정되었는지 확인합니다. 예는 다음과 같습니다.

with codecs.open('baby1990.html', 'r',encoding='utf-8', errors='ignore') as file:  
    for line in file.readlines():  
        print(line)  
로그인 후 복사

이 코드를 사용하면 동일한 문제가 발생하지 않고 여러 번 반복할 수 있습니다.

위 내용은 첫 번째 통과 후 Python 파일 반복이 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿