Python报错 : UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position xxx

刚接到一个需求是要取出所有i18n文件下的en,zh文件,所涉及的文件目录比较多复制太浪费时间了,所以自己写了一个小方法,以下是代码:

path = 'C:/Users/ywx547757/Desktop/bug-code/cpts_console_ui/cpts2.0/src'
fs = open("D:\yuan\py/test-zh.txt","w" ,encoding='utf-8')# 读写文件
for root, dirs, files in os.walk(path, topdown=False): #列出文件夹下所有的zi目录与文件
    if "i18n" in root:#找出指定目录下的特定文件夹
        for v in files:
            if "zh"in v:#特定文件
                path=root+"/"+v
                file_content = open(path, "r", encoding='utf-8').read()
                # print(file_content)
                fs.write(file_content)

英文可以正常读写,但是中文遇见一下问题:

 

很多说是编码格式问题,但是都不适合我,最后找到问题根源:

python的print()方法的问题。在python中, print()方法在Win7的默认编码是gbk,它在打印时,并不是所有的字符都支持的。

把print那句删掉之后就可以正常读写了

你可能感兴趣的:(Python)