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那句删掉之后就可以正常读写了

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值