Python - ファイルのアクセス日時と更新日時を変更する

ファイルのアクセス日時(atime)と更新日時(mtime)を変更するには、os.utime関数を使用します。

Windows-ファイルのプロパティ
Windows-ファイルのプロパティ
Linux-statコマンド
Linux-statコマンド

ファイルのアクセス日時と更新日時を変更する方法

os.utime関数 の引数に ファイル名、アクセス日時、更新日時 を指定します。
import os

# 指定した日時に変更する
os.utime(path='ファイル名', times=(アクセス日時, 更新日時))

# システム日時に変更する
os.utime(path='ファイル名', times=None)
サンプルコード
import os
from datetime import datetime

# アクセス日時を 2031年12月01日 23時50分59秒に
atime = datetime(year=2031, month=12, day=1, hour=23, minute=50, second=59, microsecond=0)

# 更新日時(修正時間)を 2030年12月01日 23時50分59秒に
mtime = datetime(year=2030, month=12, day=1, hour=23, minute=50, second=59, microsecond=0)

# アクセス日時 と 更新日時 を変更
os.utime(path='./test.txt', times=(atime.timestamp(), mtime.timestamp()))

アクセス日時 または 更新日時 のみ変更する

os.utime関数 は アクセス日時 と 更新日時 を同時に更新するため、どちらか一方の更新はできません。 os.stat関数で現在の日時を取得し、設定します。
import os

target = './test.txt'

# 元の日時を取得
sr = os.stat(path=target)

# アクセス日時のみ変更
os.utime(path=target, times=(新しいアクセス日時, sr.st_mtime))

# 更新日時のみ変更
os.utime(path=target, times=(sr.st_atime, 新しい更新日時))

検証環境