os.stat(path)
其中,path 參數列示目標檔案的存取路徑,可以使用相對路徑,也可以使用絕對路徑。屬性名 | 含義 | 屬性名 | 含義 |
---|---|---|---|
st_mode | 保護模式 | st_ino | 索引號 |
st_nlink | 硬連結號(被連線數目) | st_dev | 裝置名 |
st_uid | 使用者 ID | st_gid | 組 ID |
st_size | 檔案大小,以位元組為單位 | st_mtime | 檔案最後一次修改時間 |
st_atime | 最後一次存取時間 | st_ctime | 最後一次狀態變化的時間,作業系統不會,該屬性對應的結果也不同,例如在 Windows 作業系統下返回的就是檔案的建立時間。 |
import os fileinfo = os.stat("a.txt") print("索引號:",fileinfo.st_ino) print("被連線數目:",fileinfo.st_dev) print("檔案大小:",fileinfo.st_size,"位元組") print("最後一次存取時間:",fileinfo.st_atime) print("最後一次修改時間:",fileinfo.st_mtime) print("最後一次狀態變化的時間:",fileinfo.st_ctime)執行結果為:
索引號: 16325548649358561
被連線數目: 3468702398
檔案大小: 35 位元組
最後一次存取時間: 1565314959.9438338
最後一次修改時間: 1565168477.275359
最後一次狀態變化的時間: 1565070909.8918042
通過觀察以上輸出結果我們發現,時間資訊和平時見到的所有不同。一般情況,為了顯示更加直觀,還需要對時間資訊進行格式化,需要借助 time 模組下的 strftime() 函數,比如:注意,由於執行環境不同,讀者的執行結果和以上輸出結果會有差異。
import os def formatTime(atime): import time return time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(atime)) fileinfo = os.stat("a.txt") print("最後一次存取時間:",formatTime(fileinfo.st_atime)) print("最後一次修改時間:",formatTime(fileinfo.st_mtime)) print("最後一次狀態變化的時間:",formatTime(fileinfo.st_ctime))輸出結果為:
最後一次存取時間: 2019-08-09 09:42:39
最後一次修改時間: 2019-08-07 17:01:17
最後一次狀態變化的時間: 2019-08-06 13:55:09