ファイルが最後に読み取られた時刻を取得するソリューションを探しています。読み取りモードで開かれただけで、ファイルが変更または作成されることはありません。これは機能しますが、ファイルへの書き込みのみです。ファイルを読み取りモードで開くと、時刻が正しくありません。
f = open('my_path/test.txt', 'r')
f.close()
print time.ctime(os.stat('my_path/test.txt').st_mtime)
ヒントはありますか?
ファイルが最後に読み取られた時刻を取得するソリューションを探しています。読み取りモードで開かれただけで、ファイルが変更または作成されることはありません。これは機能しますが、ファイルへの書き込みのみです。ファイルを読み取りモードで開くと、時刻が正しくありません。
f = open('my_path/test.txt', 'r')
f.close()
print time.ctime(os.stat('my_path/test.txt').st_mtime)
ヒントはありますか?
stat
構造内の間違ったエントリを見ています。.st_atime
代わりに次の値を使用します。
print time.ctime(os.stat('my_path/test.txt').st_atime)
st_atime
- 最後にアクセスした時刻
atime
すべてのシステムがタイムスタンプを更新するわけではないことに注意してください。 atime の批判 を参照してください。2.6.30 の時点で、Linux カーネルはデフォルトでこの設定を使用します。このrelatime
設定では、atime
24 時間以上経過した場合にのみ値が更新されます。strictatime
でオプションを設定することで、これを変更できますfstab
。
Windows Vista も への更新を無効にしましたが、再度有効にするatime
ことができます。