如何检查更新的文件并显示其内容?

时间:2017-05-05 06:41:28

标签: python

我有一个文本文件,想检查它是否已更新并显示更新的内容。

我尝试使用last_modified_time并获取校验和,但我如何存储它并在下次使用它

last_modified_date = datetime.fromtimestamp(mtime)
hash1 = md5.new()
hash1.update("textfile.txt")
prevchecksum = hash1.digest()

1 个答案:

答案 0 :(得分:0)

如果您使用的是unix,则可能statdiff命令可以执行此操作:

root@Mc:~# echo "new" > a
root@Mc:~# echo "old" > b
root@Mc:~# diff a b
1c1
< new
---
> old
root@Mc:~# stat a
  File: 'a'
  Size: 4           Blocks: 8          IO Block: 4096   regular file
Device: fc01h/64513d    Inode: 1346        Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-05-05 06:52:52.898107822 +0000
Modify: 2017-05-05 06:52:48.434076120 +0000
Change: 2017-05-05 06:52:48.434076120 +0000
 Birth: -

从手册页stat

Linux命令stat用于显示Linux文件和文件系统的状态信息。

在Python中,您可以使用subprocess模块执行shell命令并获得结果:

>>> import subprocess
>>> status = subprocess.check_output(['stat','a'])
>>> status
"  File: 'a'\n  Size: 4         \tBlocks: 8          IO Block: 4096   regular file\nDevice: fc01h/64513d\tInode: 1346        Links: 1\nAccess: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)\nAccess: 2017-05-05 06:52:52.898107822 +0000\nModify: 2017-05-05 06:52:48.434076120 +0000\nChange: 2017-05-05 06:52:48.434076120 +0000\n Birth: -\n"

希望这有帮助。