2012-06-09 32 views
9

例如,如何讀取目錄中的文件屬性?

import os 
print os.listdir() 

目錄列表文件。

如何獲取目錄中所有文件的文件修改時間?

+0

可能重複[?如何獲得文件的創建和修改日期/ Python中的時間(http://stackoverflow.com /問題/ 237079 /如何對GET-文件創建,修改,日期時間,在-蟒蛇) –

回答

28

使用os.stat調用獲取修改時間等文件屬性。

import os 
for filename in os.listdir(): 
    info = os.stat(filename) 
    print info.st_mtime 

st_mtime是有關python 2.5和至多一個浮點值,表示從epoch秒;使用timedatetime模塊來解釋這些顯示目的或類似。

請注意,該值的精確度取決於你所使用的操作系統:

的確切含義和st_atime的,st_mtime,和st_ctime屬性的分辨率取決於操作系統和文件系統上。例如,在使用FAT或FAT32文件系統的Windows系統上,st_mtime的分辨率爲2秒,而st_atime的分辨率僅爲1天。詳細信息請參閱您的操作系統文檔。

如果您所做的只是獲取修改時間,那麼os.path.getmtime方法是一個方便的捷徑;它使用引擎蓋下的os.stat方法。

不過請注意,該os.stat調用是相對昂貴的(文件系統訪問),因此,如果你這樣做了很多的文件,你需要每個文件多個數據點,你最好使用os.stat和重用返回的信息而不是使用os.path便利方法,其中os.stat將被稱爲每個文件多次。

3

如果你只想修改時間,那麼os.path.getmtime(filename)會爲你得到它。如果您正在使用listdir有爭論,你也需要使用os.path.join

import os, os.path 

for filename in os.listdir(SOME_DIR): 
    print os.path.getmtime(os.path.join(SOME_DIR, filename))