파일에 1000 줄을 쓰고 그 파일에 대해 정규 표현식을 계속하는 스크립트가 있지만 쓰여진 텍스트의 마지막 100 줄만 사용할 수 있습니다. 이를 해결하는 한 가지 방법은 파일을 닫고 다시 여는 것입니다. 기록 된 파일을 다시로드 할 수있는 방법이 있습니까? 아니면 그냥 닫기 모듈을 닫아야합니까? 로그 파일이 존재하지 않거나 첫 번째 열 때 비어있는 것이 적절할 수 있습니다.파이썬에서 파일을 다시로드하는 방법은 무엇입니까?
>>> the_page = 'some large site opened through urllib'
>>> logfile = open('./artist/' + tags['ARTIST'], 'r+')
>>> logfile.write(the_page)
>>> print logfile.read()
아무것도 표시되지 않습니다.
>>> 'Some regular expressions search'
마지막 100 줄에 대한 검색입니다.
>>> logfile.close()
>>> logfile = open('./artist/' + tags['ARTIST'], 'r+')
>>> print logfile.read()
모든 것이 나타납니다.
>>> 'Some regular expressions search'
예상대로 수행됩니다.
그래, 나는 이것에 반대하고 싶다. 플러싱은 내 문제가 해결 될 때까지 닫을 수 있습니다. – dmikalova
@teratomata, 파일을 플러시하지 않으려는 이유를 분명히 할 수 있습니까? –
플러시는 파일 객체를 지우고, 내가하고 싶은 것은 기록 된 파일을 다시로드하는 것입니다. 사실 내가 원하지 않는 것은 파일 (0)을 찾는 파일의 처음으로 돌아가는 것입니다. – dmikalova