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

我尝试过直接字符串转换和倍数方法,但是,错误不断出现。

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

正在寻找一种将这些信息写入我的文件的方法。


烙印99
浏览 218回答 2
2回答

红糖糍粑

我找到了一个我猜的解决方案:您应该使用编码参数打开文件:with open('towrite.txt, 'w+', encoding='utf-8') as f:    f.write('Original Price: ' + str(original_price) + '\n')这应该有效。

跃然一笑

该write方法需要一个bytes对象;你试图传递一个str对象。您需要先对其进行编码。写字符串的UTF-8编码,例如,f.write("Original Price: {}\n".format(original_price).encode('utf-8'))的值original_price似乎不是实际数字;它包含卢比的符号,₹,在您尝试使用的字符编码中没有等效的符号。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python