Pythonで指定したファイルのタイムスタンプを取得するメモ。
UNIXのタイムスタンプは、いくつか種類がある。
- stime
- mtime
- ctime
とりあえず、今回は、mtimeを取得する例。他もだいたい同じ。
osモジュールのstatを使う。だいたいこんな感じ。
>>> os.stat('path/to/target/file.txt').st_mtime 1565473599.0
os --- 雑多なオペレーティングシステムインタフェース — Python 3.7.4 ドキュメント
UNIXタイムスタンプで返ってくるので、datetimeオブジェクトに直す。
fromtimestampを使うと変換できる。
>>> from datetime import datetime >>> datetime.fromtimestamp(os.stat('path/to/target/file.txt').st_mtime) datetime.datetime(2019, 8, 11, 4, 46, 39)
datetime --- 基本的な日付型および時間型 — Python 3.7.4 ドキュメント
パスがすでにpathlibのオブジェクトになってる場合は、getmtimeを使ってUNIXタイムスタンプを取得することもできる。
>>> import os.path >>> from pathlib import Path >>> mtime = os.path.getmtime(Path('path/to/target/file.txt')) >>> datetime.fromtimestamp(mtime) datetime.datetime(2019, 8, 11, 4, 46, 39)