我尝试过直接字符串转换和倍数方法,但是,错误不断出现。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')
这应该有效。

跃然一笑
TA贡献1826条经验 获得超6个赞
该write
方法需要一个bytes
对象;你试图传递一个str
对象。您需要先对其进行编码。写字符串的UTF-8编码,例如,
f.write("Original Price: {}\n".format(original_price).encode('utf-8'))
的值original_price
似乎不是实际数字;它包含卢比的符号,₹
,在您尝试使用的字符编码中没有等效的符号。
添加回答
举报
0/150
提交
取消