ctime of a file, directory
python, ファイルの更新時刻取得
更新時刻等取得方法。どれでもほぼ同等
- os.path.getctime(filename)
- os.stat(filename).st_atime
- pathlib.Path(filename).stat().st_mtime
from datetime.datetime import fromtimestamp from os.path import getctime from functools import cmp_to_key # filename to datetime of ctime def poi(filename): ctime = getctime(filename) dt = fromtimestamp( ctime ) return dt def tscmp(a,b): # 比較関数 return a[1] - b[1] def sortfiles(files): m = map( lambda x: [x,getctime(x)], files) s = sorted( m, key= cmp_to_key(lambda a,b: a[1] - b[1] )) # or t = sorted(m, key=lambda a: a[1]) for x in s: print(x[0],x[1]) return s
補足
python 3系列から、sorted等のcmp キーワード引数がなくなり、ソートキーを返却するkey関数に変更された。cmp関数を使う場合、functoolsのcmp_to_keyを使う。
なお、性能面では使い方次第で、キーを返却する方が毎回外部関数で比較するより効率的。