Python strptime()関数とutime関数でファイルの最終アクセス日時を書き換える

環境
Python 3.9.13
Windows 10 Home 64bit
PyCharm 2022.2.1 (Community Edition)

構文
1.文字列型の時間指定でファイルの最終アクセス日時と最終更新日を書き換える

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
datetime.datetime.strptime('YYYY-MM-DD HH:MM:SS', '%Y-%m-%d %H:%M:%S').timestamp()
strptime()関数でdatetime型に変換してからtimestamp()でタイムスタンプに変換します
datetime.datetime.strptime('YYYY-MM-DD HH:MM:SS', '%Y-%m-%d %H:%M:%S').timestamp() strptime()関数でdatetime型に変換してからtimestamp()でタイムスタンプに変換します
datetime.datetime.strptime('YYYY-MM-DD HH:MM:SS', '%Y-%m-%d %H:%M:%S').timestamp()
strptime()関数でdatetime型に変換してからtimestamp()でタイムスタンプに変換します

2.time関数でファイルの最終アクセス日時と最新更新日時を書き換える
os.utime(ファイル名, (タイムスタンプ変数名, タイムスタンプ変数名))
utime()関数は第一引数に変更するファイルのパス、第二引数に新しい最終アクセス時間と最終更新日をタイムスタンプにして、
タプル型のデータで指定します。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import os
import datetime
file = "123.txt"
print("新しい更新日時をタイムスタンプにする")
updatetime = datetime.datetime.strptime('2023-02-25 11:11:22', '%Y-%m-%d %H:%M:%S').timestamp()
print("ファイルの最終アクセス日時と最終更新日を書き換える")
os.utime(file, (updatetime, updatetime))
import os import datetime file = "123.txt" print("新しい更新日時をタイムスタンプにする") updatetime = datetime.datetime.strptime('2023-02-25 11:11:22', '%Y-%m-%d %H:%M:%S').timestamp() print("ファイルの最終アクセス日時と最終更新日を書き換える") os.utime(file, (updatetime, updatetime))
import os
import datetime

file = "123.txt"

print("新しい更新日時をタイムスタンプにする")
updatetime = datetime.datetime.strptime('2023-02-25 11:11:22', '%Y-%m-%d %H:%M:%S').timestamp()

print("ファイルの最終アクセス日時と最終更新日を書き換える")
os.utime(file, (updatetime, updatetime))

実行結果
ファイルの最終アクセス日時と最終更新日は 2023/02/25 11:11:22 になります。

Python

Posted by arkgame