为了账号安全,请及时绑定邮箱和手机立即绑定

每当我尝试将数字数据写入我的 .txt 文件时,它都会引发错误

每当我尝试将数字数据写入我的 .txt 文件时,它都会引发错误

烙印99 2021-12-21 17:41:37
我尝试过直接字符串转换和倍数方法,但是,错误不断出现。f.write("Original Price: " + str(original_price) + "/n") #Where original price is an integer taken through an html source.错误: f.write("Original Price: " + str(original_price)) File "C:\ProgramData\Anaconda3\lib\encodings\cp1252.py", line 19, in encode return codecs.charmap_encode(input,self. errors,encoding_table)[0] UnicodeEncodeError: 'charmap' codec can't encode character '\u20b9' in position 16: character maps to正在寻找一种将这些信息写入我的文件的方法。
查看完整描述

2 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

我找到了一个我猜的解决方案:


您应该使用编码参数打开文件:


with open('towrite.txt, 'w+', encoding='utf-8') as f:

    f.write('Original Price: ' + str(original_price) + '\n')

这应该有效。


查看完整回答
反对 回复 2021-12-21
?
跃然一笑

TA贡献1826条经验 获得超6个赞

write方法需要一个bytes对象;你试图传递一个str对象。您需要先对其进行编码。写字符串的UTF-8编码,例如,

f.write("Original Price: {}\n".format(original_price).encode('utf-8'))

的值original_price似乎不是实际数字;它包含卢比的符号,,在您尝试使用的字符编码中没有等效的符号。


查看完整回答
反对 回复 2021-12-21
  • 2 回答
  • 0 关注
  • 216 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号