環境設定 数値 文字列 正規表現 リスト タプル 集合 辞書 ループ 関数 クラス データクラス 時間 パス ファイル スクレイピング その他

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

最終更新日 2019.11.28

Python でファイルの更新日時を取得するには os.path.getmtime を使います。

import datetime
import os

p = './test.csv'

t = os.path.getmtime(p)
d = datetime.datetime.fromtimestamp(t)

print(t)
# 1574851066.421054

print(d)
# 2019-11-27 19:37:46.421054

os をインポートして os.path.getmtime に調べたいファイルのパスを入れます。パスは相対パスでも絶対パスでもかまいません。

os.path.getmtime は UNIX timestamp を返すため、datetime.datetime.fromtimestamp などで普通の日時に変換するといいでしょう。

ファイルの作成日時を取得する

作成日時の取得は OS によって異なります。Windows では getctime を使い、Mac や一部の UNIX では os.stat(p).st_birthtime とします。

Windows

import datetime
import os

p = './test.csv'

t = os.path.getctime(p)

d = datetime.datetime.fromtimestamp(t)

print(d)
# 2019-11-27 19:37:46.421054

Mac

import datetime
import os

p = './test.csv'

t = os.stat(p).st_birthtime

d = datetime.datetime.fromtimestamp(t)

print(d)
# 2019-11-27 18:45:53.631646

Mac で作成日時、更新日時、最終アクセス日時を取得する

import datetime
import os

p = './test.csv'

t1 = os.stat(p).st_birthtime
t2 = os.path.getmtime(p)
t3 = os.path.getatime(p)

d1 = datetime.datetime.fromtimestamp(t1)
d2 = datetime.datetime.fromtimestamp(t2)
d3 = datetime.datetime.fromtimestamp(t3)

print(d1)
# 2019-11-27 18:45:53.631646

print(d2)
# 2019-11-28 21:01:23.314099

print(d3)
# 2019-11-27 19:37:47.698257

最終アクセス日時は os.path.getatime で取得します。