ファイル名の変更、Python / Jython
質問
ファイルがいっぱいのディレクトリがあり、その名前にアンパサンドが含まれているものもあります。すべてのファイルの名前をアンパサンドで変更し、各アンパサンドをプラス(+)に置き換えたいと思います。私は約1万個のファイルを扱っています。これを行うための最良の方法は何ですか?
解決
import glob, os
for filename in glob.glob(os.path.join(yourPath, "*&*")):
os.rename(filename, filename.replace('&','+'))
他のヒント
サブディレクトリがある場合:
import os
for dirpath, dirs, files in os.walk(your_path):
for filename in files:
if '&' in filename:
os.rename(
os.path.join(dirpath, filename),
os.path.join(dirpath, filename.replace('&', '+'))
)
import os
directory = '.'
for file in os.listdir(directory):
if '&' in file :
os.rename(file, file.replace('&', '+'))
directory
を独自のパスに置き換えます。
名前の変更を使用:
$ rename --find '&' --replace '+' *
所属していません StackOverflow