絶えず追加されているファイルのディレクトリがあります。1日に複数のファイルが入る場合もありますが、その数は異なる場合があります。ファイルをスキャンし、ファイルが作成された日付に基づいてファイルの名前を変更するスクリプトを定期的に実行し、その日に複数のファイルがあった場合はイテレータを使用したいと思います。
これが私がこれまでに持っているものです
#!/usr/bin/python
import os
import datetime
target = "/target_dir"
os.chdir(target)
allfiles = os.listdir(target)
for filename in allfiles:
if not os.path.isfile(filename):
continue
t = os.path.getmtime(filename)
v= datetime.datetime.fromtimestamp(t)
x = v.strftime('%Y%m%d')
loop = 1
iterator = 1
temp_name = x + "_" + str(iterator)
while loop:
if not os.path.exists(temp_name + '.mp4'):
os.rename(filename, temp_name + '.mp4')
loop = 0
else:
temp_name = x + '_' + str(iterator)
iterator+=1
それはうまくいくようですが、スクリプトを2回実行すると、ファイル名が時期尚早に変更されます(つまり、date1-1.mp4がdate1-2.mp4になります)。
助言がありますか?