检查文件是否已更改?

时间:2018-04-04 10:49:25

标签: python python-3.x file operating-system

我的要求是检查自上次运行以来文件是否已更改。 我已尝试使用此os.stat,我不确定这是否是正确的方法。

import os
import json

file_info = os.stat("cli.py")
with open("log.txt", "r") as file:
    line = json.loads(file.readline())
    if list(set(line)-set(list(file_info))):
       print("Changes in file")
       with open ("log.txt", "w+") as f:
           f.write(str(list(file_info)))

我在寻找是否有更好的想法,或者我是否以正确的方式做到了。任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

您可以使用校验和,例如MD5

import hashlib

with open("yourfile", "rb") as f:

    print(hashlib.md5(f.read()).hexdigest())

https://docs.python.org/3/library/hashlib.html

如果您需要知道文件的更改位置,请使用Python附带的difflib。有关示例的链接,请参阅注释。