2017-05-05 70 views
-1

我有一個文本文件,並希望檢查它是否更新並顯示更新的內容。如何檢查更新的文件並顯示其內容?

我嘗試使用LAST_MODIFIED_TIME和獲取校驗和,但如何存放和使用它的下一次

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

什麼是「下一次」?下次你運行腳本? – jordanm

+0

此腳本將在每小時運行 – tintin

回答

0

對於如果您使用unix,也許statdiff命令可以做到這一點:

[email protected]:~# echo "new" > a 
[email protected]:~# echo "old" > b 
[email protected]:~# diff a b 
1c1 
< new 
--- 
> old 
[email protected]:~# 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" 

希望這有助於。

+0

但我如何比較最後一次和以前的修改時間? – tintin

+0

如何獲取舊內容 – tintin

+0

@tintin也許您可以使用循環來存儲最後一個散列值或文件內容,並且每10秒鐘修改一次。 – McGrady