2017-05-05 4 views
-1

私はテキストファイルを持っており、それが更新されていることを確認したいと同時に、更新されたコンテンツも表示したいと思います。 更新されたファイルを確認して内容を表示する方法は?

私はlast_modified_timeのを使用してチェックサムを取得しようとしたが、あなたは多分 statdiffコマンドがこれを行うことができ、 unixを使用している場合どのように私はそれを保存し、次回

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

「次回」とは何ですか?次回あなたはスクリプトを実行しますか? – jordanm

+0

このスクリプトは毎時 – tintin

答えて

0

のためにそれを使用してください:

[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モジュールを使用することができます。

>>> 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

関連する問題