我正在尝试重命名名称中包含非unicode字符的文件。
import os
dir = b'/tr2'
for file_name in os.listdir(dir):
file_name = file_name.decode('utf8','replace')
print(file_name)
os.rename(file_name,'11.txt')
只能打印此名称,但当我尝试重命名时,我收到错误:
UnicodeEncodeError: 'ascii' codec can't encode character '\xf1' in position 11: ordinal not in range(128)
答案 0 :(得分:0)
问题在于我需要显示file_name的值,稍后在程序中使用它。所以感谢Martin Evans下一步的决定:
import os
dir = b'/tr2'
for file_name in os.listdir(dir):
print(file_name.decode('utf8','replace'))
os.rename(os.path.join(dir, file_name), os.path.join(dir, b'11.txt'))