いまさらかん。
あとやたらめんどくさい
必要となる知識
- 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では日付関連どうだったか・
今度やってみよう。

コメント