いまさらかん。
あとやたらめんどくさい
必要となる知識
- datetimeモジュール
- osモジュール
- 文字列を日付にする datetime.datetime.strptime(str, “”)
- 日付を文字列にする strftime()
- datetime.timedelta
pythonでのフィル名を日付で連番にするには、datetimeモジュールを使う必要があります。このことから大したことはやってないのに、やたらがたがたとめんどくさいです。
上記に書きている日付を文字列にする strftime() については str() を使えばいいので使いませんが、あえて紹介です。
strptimeもstrftimeも datetime.datetime ベースなのでやたらめんどくさいです。ちなみに datetime.datetime を datetime.date に変換するには date() を使います。
これはたからみると何言ってるかわからないかもなあ。
サンプルコード
import os import datetime as d do = input("do you serial_num? or date_serial_num?: --(n / d)-- ") os.chdir("../") count = 0 one_day = d.timedelta(1) if do == "n": file_name = input("file_name?: ") extension = input("extension?: ") for f in os.listdir(): if f.endswith("." + extension): count += 1 os.rename(f, file_name + str(count) + "." + extension) elif do == "d": file_name = input("file_name?: ") extension = input("extension?: ") date = input("date?: (yyyy-mm-dd) ") _datetime = d.datetime.strptime(date, "%Y-%m-%d") for f in os.listdir(): if f.endswith("." + extension): _date = _datetime.date() os.rename(f, file_name + " " + str(_date) + "." + extension) _datetime += one_day else: print("you_input_key no such pattern")
誰でも書けそうなコードだし、解説もなにもない。
雑感
めんどくさい。
rubyでは日付関連どうだったか・
今度やってみよう。
コメント