いくつかの背景情報:私が働いている古代のWebベースのドキュメントデータベースシステムは、ほぼ完全に「通常の」拡張子(.doc、.xls、.ppt)を持つMSOfficeドキュメントで構成されています。それらはすべて、ある種の任意のID番号(つまり1245.doc)に基づいて名前が付けられています。SharePointに切り替えているので、これらすべてのファイルの名前を変更して、フォルダーに並べ替える必要があります。あらゆる種類の情報(どのID番号がどのドキュメントのタイトルに対応するかなど)を含むCSVファイルがあるので、これらのファイルの名前を変更するために使用しています。ID番号のタイトルの名前を変更する短いPythonスクリプトを作成しました。
ただし、ドキュメントのタイトルの中には、ファイルのタイトルに含まれるスラッシュやその他の不適切な文字が含まれているものがあるため、それらをアンダースコアに置き換えたいと思います。
bad_characters = ["/", "\\", ":", "(", ")", "<", ">", "|", "?", "*"]
for letter in bad_characters:
filename = line[2].replace(letter, "_")
foldername = line[5].replace(letter, "_")
- 例
line[2]
:「Blahblahboring-meeting 2/19/2008.doc」 - 例
line[5]
:「ビジネスミーティング2/2008」
print letter
ループ内に追加するfor
と、置き換えられるはずの文字が出力されますが、実際には、その文字が必要なアンダースコアに置き換えられることはありません。
ここで私が間違っていることはありますか?