Python3'ascii'编解码器不能编码字符

时间:2017-03-29 09:51:05

标签: python-3.x encoding character-encoding

我正在尝试重命名名称中包含非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)

1 个答案:

答案 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'))