检查文件是否在 Python 中被修改
Check if a file is modified in Python
我正在尝试创建一个框,告诉我文件文本是否被修改,如果它被修改,它会打印出其中的新文本。这应该是一个无限循环(机器人会休眠直到文本文件被修改)。
我试过这段代码,但它不起作用。
while True:
tfile1 = open("most_recent_follower.txt", "r")
SMRF1 = tfile1.readline()
if tfile1.readline() == SMRF1:
print(tfile1.readline())
但这完全行不通...我是 Python 的新手,有人可以帮助我吗?
def read_file():
with open("most_recent_follower.txt", "r") as f:
SMRF1 = f.readlines()
return SMRF1
initial = read_file()
while True:
current = read_file()
if initial != current:
for line in current:
if line not in initial:
print(line)
initial = current
一次性读取文件,获取其初始状态。然后不断重复读取文件。当它改变时,打印出它的内容。
我不知道你指的是什么机器人,但这段代码和你的代码会持续读取文件。它似乎永远不会退出。
我可能建议将文件复制到一个安全的复制位置,并可能使用 diff 程序来确定当前文件是否与原始副本不同,并打印添加的行。如果您只想附加行,您可以尝试使用像 tail
这样的实用程序
您也可以使用像 pyinotify 这样的库来仅在文件系统检测到文件已被修改时触发
我正在尝试创建一个框,告诉我文件文本是否被修改,如果它被修改,它会打印出其中的新文本。这应该是一个无限循环(机器人会休眠直到文本文件被修改)。
我试过这段代码,但它不起作用。
while True:
tfile1 = open("most_recent_follower.txt", "r")
SMRF1 = tfile1.readline()
if tfile1.readline() == SMRF1:
print(tfile1.readline())
但这完全行不通...我是 Python 的新手,有人可以帮助我吗?
def read_file():
with open("most_recent_follower.txt", "r") as f:
SMRF1 = f.readlines()
return SMRF1
initial = read_file()
while True:
current = read_file()
if initial != current:
for line in current:
if line not in initial:
print(line)
initial = current
一次性读取文件,获取其初始状态。然后不断重复读取文件。当它改变时,打印出它的内容。
我不知道你指的是什么机器人,但这段代码和你的代码会持续读取文件。它似乎永远不会退出。
我可能建议将文件复制到一个安全的复制位置,并可能使用 diff 程序来确定当前文件是否与原始副本不同,并打印添加的行。如果您只想附加行,您可以尝试使用像 tail
您也可以使用像 pyinotify 这样的库来仅在文件系统检测到文件已被修改时触发