【4 weeks challenge – Python】Day 11 更新日情報の取得とリネーム

daily_trial

こんにちは、しらすです。

11日目です。本日の習得スキルは「更新日時情報をつけてリネーム」です!

更新日情報の取得とリネームでできること

ファイル情報から更新日時の情報を取得することができます。また、取得した更新日時の情報をファイル名につけてリネームすることができます。

更新日情報の取得とリネームの使い方

import glob,os,time

#更新日時情報をつけてリネーム
file_list = glob.glob("./day09_sample_forday11/*.log")

for old_file in file_list:
    t = os.path.getmtime(old_file)
    new_file = "./day09_sample_forday11/{}.log".format(time.strftime("%Y-%m-%d_%H.%M.%S", time.localtime(t)))
    os.rename(old_file,new_file)

結果

更新日時を入れてファイル名を変換することができました。

おためし編

strftimeで使える表記

formatexamplememo
%Y2014西暦を表す数
%m01月を表す数字(01-12)
%d08日(01-31)
%H1124時間制の時(00-23)
%M53分(00-59)
%S06秒(00-60) (60はうるう秒)
%w3曜日を表す数(0-6) 日曜日が0
よく使われるもの (引用元:strftime を憶えられない)
formatexamplememo
%F2014-01-08%Y-%m-%d と同等 (ISO 8601の日付フォーマット)
%D01/08/14日付 (%m/%d/%y)
%T11:53:0624時間制の時刻。%H:%M:%S と同等。
%X11:53:06時刻 ( ロケールに適切な時刻とのこと )
%R11:5324時間制の時刻。%H:%M と同等。
一括 (引用元:strftime を憶えられない)

更新情報以外に読み出せるファイル情報

ファイルの更新日時だけでなく、作成日やアクセス日、サイズなども取得可能です。

functionmemo
os.path.getctime()ファイルの作成日時
os.path.getmtime()ファイルの更新日時
os.path.getatime()ファイルへのアクセス日時
os.path.getsize()ファイルのサイズ

参考

ゼロからはじめるPython(41) ファイルの内容に応じて自動でファイル名をつけよう
前回、大量の画像ファイルに意味のある名前を付けて連番リネームを行うプログラムを作ってみた。とは言え、せっかくオリジナルのリネームツールを作るのなら、より自分の業務にフィットした独自の機能を付け加えたいと思うだろう。今回は、ファイルの日付やファイルの内容に応じて、自動でファイル名をつけるプログラムを作ってみよう。
Pythonのdatetimeで日付や時間と文字列を変換(strftime, strptime) | note.nkmk.me
Pythonの標準ライブラリdatetimeで、日時(日付や時間・時刻)を処理できる。日時と文字列を相互に変換するメソッドstrftime()とstrptime()で、様々なフォーマットの日付や時間を操作できる。 引き算や足し算も可能 ...

コメント