2014-03-06 56 views
0

我有一個文件名myfile.txt,我想要一個簡單的腳本告訴我文件何時被修改。我正在使用os.stat(file).st_mtime來查看它是否已被修改。如果時間改變了,文件已被修改。當文件被修改時在Python中停止循環

如何在while循環中使用該os.stat(file).st_mtime來獲取類似的內容?

while the file hasnt been modified: 
    print "File not modified" 
print "The file has been modified" 

在此先感謝。

回答

3

喜歡的東西

mtime = os.stat(file).st_mtime 
while os.stat(file).st_mtime == mtime: 
    print "File not modified" 
print "The file has been modified" 
1

商店st_mtime值跳水前到while循環,並將其用於驗證while循環:

last_st_mtime=os.stat(file).st_mtime 
while last_st_mtime==os.stat(file).st_mtime: 
    print "File not modified" 
print "The file has been modified" 
3
m_time = os.stat(file).st_mtime 
while os.stat(file).st_mtime == m_time: 
    print "File not modified" 
    time.sleep(1) 
print "The file has been modified" 

此代碼檢查文件是否已被每秒鐘後修改。

+0

關於多任務處理的最佳解決方案。改進仍然是可能的:定義一個函數而不是重複os.stat()。m_time調用並用更多的自我解釋標識符替換* m_time *。 – guidot