【发布时间】:2022-12-05 22:24:10
【问题描述】:
我是一名初学者 python 程序员,我想知道是否有任何方法可以检测 Windows 上 txt 文件的更改。任何建议表示赞赏。
【问题讨论】:
我是一名初学者 python 程序员,我想知道是否有任何方法可以检测 Windows 上 txt 文件的更改。任何建议表示赞赏。
【问题讨论】:
有很多方法可以使用它:
例如,您可以使用 os.path.getmtime(path) 每隔几秒检查一次文件的最后修改日期,当日期更改时您知道文件已被编辑。
您还可以在文件上使用某种形式的校验和 (generate md5 hash of a file) 并每隔几秒检查一次校验和是否更改(在大文件上可能会变慢,因为校验和需要读取整个文件)
您还可以直接监听信号send by windows,并在收到信号时执行事件处理程序,这更难实现,但到目前为止是最简洁的方法。 (编辑,这似乎是@martin kamau 在他的回答中建议的)
可能还有很多我现在想不到的方式......
【讨论】:
要监视文件中的文件更改,可以使用以下代码:
import time
import fcntl
import os
import signal
filename = "nameofthefile"
def handler(signum, frame):
print "File %s modified" % (FNAME,)
我找到了这段代码here。
【讨论】: