ファイル名「abc枚.xlsx」には何らかの非ASCII文字エンコーディングが含まれており、すべての非ASCII文字を削除して名前を「abc.xlsx」に変更したいと考えています。
これが私が試したことです:
import os
import string
os.chdir(src_dir) #src_dir is a path to my directory that contains the odd file
for file_name in os.listdir():
new_file_name = ''.join(c for c in file_name if c in string.printable)
os.rename(file_name, new_file_name)
で次のエラーが発生しますos.rename()
:
builtins.WindowsError: (2, 'The system cannot find the file specified')
これは Windows システム上にありsys.getfilesystemencoding()
ますmbcs
。
このエラーを回避し、ファイル名を変更できるようにするにはどうすればよいですか?