【Python】ファイル作成日時 変更日時を取得したい【Mac】

2022年6月9日

Pythonを使って、Macのファイル情報、ファイル作成日時、ファイル変更日時、アクセス時刻などを取得したいときは、「os.stat」か「os.path」で取得できます。

どちらも出力結果は同じで、「os.stat」はファイル作成日時も取得することができます。

os.statで取得する

import os
from datetime import datetime

stats = os.stat('/ファイルパス/ファイル名')

a = stats.st_atime #最終アクセス時刻
m = stats.st_mtime #最終内容更新時刻
c = stats.st_ctime #プラットフォーム依存:Unix メタデータの最終更新時刻
b = stats.st_birthtime #ファイル作成時刻
print (a)
print (m)
print (c)
print (b)

#日付に変換
a = datetime.fromtimestamp(a)
m = datetime.fromtimestamp(m)
c = datetime.fromtimestamp(c)
b = datetime.fromtimestamp(b)
print (a)
print (m)
print (c)
print (b)

#日付フォーマット変換
print(a.strftime('%Y-%m-%d')) #2022-05-16
print(a.strftime('%A %d. %B %Y')) #Monday 16. May 2022

結果

1652643704.088264
1642991355.0
1652643513.629134
1642991355.0
2022-05-16 04:41:44.088264
2022-01-24 11:29:15
2022-05-16 04:38:33.629134
2022-01-24 11:29:15
2022-05-16
Monday 16. May 2022

os.pathで取得する

import os
from datetime import datetime

p = '/ファイルパス/ファイル名'

a = os.path.getatime(p) #最終アクセス時刻
m = os.path.getmtime(p) #最終内容更新時刻
c = os.path.getctime(p) #プラットフォーム依存:Unix メタデータの最終更新時刻
print (a) 
print (m) 
print (c) 

#日付に変換
a = datetime.fromtimestamp(a)
m = datetime.fromtimestamp(m)
c = datetime.fromtimestamp(c)
print (a)
print (m) 
print (c) 

#日付フォーマット変換
print(a.strftime('%Y-%m-%d')) #2022-05-16
print(a.strftime('%A %d. %B %Y')) #Monday 16. May 2022

結果

1652643704.088264
1642991355.0
1652643513.629134
2022-05-16 04:41:44.088264
2022-01-24 11:29:15
2022-05-16 04:38:33.629134
2022-05-16
Monday 16. May 2022

参考サイト

os — 雑多なオペレーティングシステムインターフェース — Python 3.10.4 ドキュメント

Pythonでファイルの作成・更新日時を取得する(os.path.getmtimeなど):作成日時の取得はOSごとに変わるので注意 – MathPython

【Mac】Pythonで作成日が同時刻のファイルのタイムスタンプをインクリメントして一括変更するスクリプトを書いた – メモ用サブブログ

Python

Posted by sei