Table of Contents
はじめに
Pythonでファイルを移動するコードです。
ついでに移動先に同名ファイルがあればリネームします。
方法
import globimport osimport shutil
# 移動先フォルダに同名のファイルがあるかをチェックして、あればリネームdef duplicate_rename(file_name_w_ext, target_path): file_path = target_path + '/' + file_name_w_ext if os.path.isfile(file_path): file_name, ext = os.path.splitext(file_name_w_ext) i = 1 while True: new_file_name_w_ext = f'{file_name}({i}){ext}' new_file_path = target_path + '/' + new_file_name_w_ext if not os.path.isfile(new_file_path): return new_file_name_w_ext i += 1
# 作業ディレクトリの設定os.chdir('hoge/fuga')
# ファイル移動先target_path = 'hoge/piyo'
# リネームfor file_name_w_ext in glob.glob('*'): new_file_name_w_ext = duplicate_rename(file_name_w_ext, target_path) if new_file_name_w_ext: print(f'rename: {file_name_w_ext} to {new_file_name_w_ext}') os.rename(file_name_w_ext, new_file_name_w_ext)
# フォルダ移動for file_name_w_ext in glob.glob('*'): print(f'moving: {file_name_w_ext}') shutil.move(file_name_w_ext, target_path)
print('done')