如何在python中重新加载文件?

dmi*_*ova 2 python file-io

如果我有一个脚本将1000行写入文件然后继续针对该文件的正则表达式,但是只有最后100行文本可用.解决此问题的一种方法是关闭并重新打开文件.有没有办法在写入后重新加载文件,或者我应该只写一个写入关闭打开模块?在第一次打开时,日志文件不存在/为空可能是相关的.

>>> the_page = 'some large site opened through urllib'
>>> logfile = open('./artist/' + tags['ARTIST'], 'r+') 
>>> logfile.write(the_page)
>>> print logfile.read()
Run Code Online (Sandbox Code Playgroud)

什么也没出现.

>>> 'Some regular expressions search'
Run Code Online (Sandbox Code Playgroud)

搜索最后100行写入.

>>> logfile.close()
>>> logfile = open('./artist/' + tags['ARTIST'], 'r+') 
>>> print logfile.read()
Run Code Online (Sandbox Code Playgroud)

一切都出现了.

>>> 'Some regular expressions search'
Run Code Online (Sandbox Code Playgroud)

按预期执行.

Bjö*_*lex 6

这只是一种预感,但也许logfile.seek(0)在写完之后可能有所帮助.可能的解释在以下文档中给出file.next:

但是,使用seek()将文件重新定位到绝对位置将刷新预读缓冲区.