我正在尝试在Python 3中创建一个简单的尾部程序。我的目标是以只读模式打开现有文件,并让我打印出添加到文件中的新行。我还想处理文件可能被删除并且应该停止跟随的情况。 follow操作工作正常,但是它阻止我删除要测试的文件。我收到系统正在使用该文件的错误。
这是我的关注脚本。
import os
def follow(filename):
with open(filename, "r", encoding="utf8", errors="ignore") as f:
f.seek(0, os.SEEK_END)
while True:
line = f.readline()
yield line
然后将以下关注程序导入到其他程序,并调用__next__()
方法以打印新行。尽管我要求以只读模式打开文件,但我不确定为什么Python会锁定文件。