我遇到的問題是在路徑上使用os.stat的一部分(以C:\ myfile1.txt爲例)。當我在這個文件上運行os.stat,並在結果列表中獲得第9個元素時,我以某些數字(例如1348167977)的形式得到修改的時間。複製文件時,使用os.stat的Python修改時間變得更短
注:我不知道如何計算這些數字。
當我創建C:\ myfile1.txt它有一些像上面的例子一樣的數字。如果我創建另一個文件C:\ myfile2.txt,它會得到一個新的數字,代表高於C:\ myfile1.txt的修改時間(這是我所期望的)。我還有最後創建的第三個文件C:\ myfile3.txt。
如果我複製C:\ myfile2.txt並用生成的副本文件覆蓋C:\ myfile3.txt,則新的C:\ myfile3.txt上的os.stat顯示的修改時間較少比C:\ myfile1.txt。爲什麼會發生? C:\ myfile3.txt的修改時間應該是所有的最高或至少等於C:\ myfile2.txt。
感謝您的回答,我希望我解釋得很好。
編輯:
下面是一些示例代碼來測試我的形容。有時它有效,如果你在不同的時間重新運行,有時候這些數字都是一樣的。我想我只是不完全理解我輸出的MTIME。
import os
import shutil
import time
myfile1 = open("C:\\myfile1.txt", 'wt')
myfile1.close()
time.sleep(10)
myfile2 = open("C:\\myfile2.txt", 'wt')
myfile2.close()
time.sleep(10)
myfile2 = open("C:\\myfile3.txt", 'wt')
myfile2.close()
shutil.copyfile("C:\\myfile2.txt", "C:\\myfile3.txt")
modified_time_first = (os.stat("C:\\myfile1.txt")[9])
modified_time_second = (os.stat("C:\\myfile2.txt")[9])
modified_time_third = (os.stat("C:\\myfile3.txt")[9])
print "The first files modified time is: "
print modified_time_first
print ""
print "The second files modified time is: "
print modified_time_second
print ""
print "The third files modified time is: "
print modified_time_third
print ""
你可以發佈你的測試代碼嗎? – Blender
順便說一下,爲了理解這些值(這是1970年1月1日以來的秒數),使用'time.ctime(1348167977)'。 – Harel
謝謝Harel!這是一個很大的幫助。 –