我有一個我正在for回圈控制的設備。.txt如果檔案已更改,我想檢查每次迭代。如果有,我想讀取值并將它們發送到設備。我正在檢查檔案是否像這樣更新:
os.stat("myfile.txt").stat.st_mtime
當我手動打開檔案、寫入值和保存檔案時,這作業正常。我想通過另一個將由另一個行程運行的 Python 腳本更改值。在這個其他腳本中,我將值寫入.txt檔案,如下所示:
text_file = open("myfile.txt", 'w')
text_file.write("\n0\n0\n0")
text_file.close()
當我呼叫時open(),st_mtime更改并且我什么都不加載,因為文本檔案是空的。如何處理?除了文本檔案之外,還有其他方法可以通過另一個 Python 行程設定新值嗎?
uj5u.com熱心網友回復:
您可以嘗試另一種方法來檢查內容是否已更改,例如檢查 MD5 校驗和。
import hashlib
..
my_hex = hashlib.md5(text_file.read()).hexdigest()
您現在可以監控my_hex每次迭代以檢查您的檔案內容是否已更改。
uj5u.com熱心網友回復:
我用了3個檔案。我檢查第 3 個檔案 st_mtime 是否已更改。我將新值寫入第二個檔案,然后打開和關閉第三個檔案。第三個檔案的 St_mtime 發生更改,因此我安全地從第二個檔案加載值。:)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/463152.html
