今ファイルの名前を変更するプログラムを作っているのですが、少数でやる分にはきちんと変更できるのですが、大量にやろうとすると途中で、
FileExistsError: [WinError 183] 既に存在するファイルを作成することはできません。2回目に実行すると先ほどまでできなかったファイルの名前も変更できます。きちんと連続してファイル変更するためにはどうしたらいいですか
import globa import os import datetime path = 'C:/Users/yuruy/Desktop./test' files = os.listdir(path) l = [] count = 0 count0 = 0 for file in files: file1 = os.path.join(path, file) file_name = file.split('.')[0] ext = file.split('.')[1] file_judgement = file.startswith('【') if file_judgement == True: break created_time = os.stat(file1).st_mtime date = datetime.datetime.fromtimestamp(created_time) date = date.strftime('%Y_%m_%d') #print('更新日') #print(date) file_num1 = 1 file_num2 = 0 file_str1 = str(file_num1) file_str2 = str(file_num2) file_str0 = file_str2 + file_str1 file_num1+=1 new_file = '【{}】{}.{}'.format(date,file_str0 , ext) file2 = os.path.join(path, new_file) for file in files: if date in file: l.append(file) count+=1 if l: fname = l[count-1].split('】')[1] num0 = fname.split('.')[0] j = [int(x) for x in list(str(num0))] file_num1 = j[1]+1 file_num2 = j[0] file_str1 = str(file_num1) file_str2 = str(file_num2) file_str0 = file_str2 + file_str1 new_file = '【{}】{}.{}'.format(date,file_str0 , ext) file2 = os.path.join(path, new_file) os.rename(file1, file2)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/22 06:04