if accion == "Informe merma":
bor=sum(map(int,QuesosFrescos1kgdanados))
bora=str(bor)
if bor >= 1:
informe2.write("La cantidad de Queso Fresco de 1kg dañado ha sido de: "+bora+" unidades")
informe2.write("\n")
informe2.write("El porcentaje de merma en relacion al stock actual("+(time.strftime("%d/%m/%Y %H:%M:%S'"))+("), es de: ")+str(porcentajequesofresco1kg)+("%"))
informe2.write("\n")
informe2.write("\n")
嗨,我正在尝试将我的“bor”变量转换为str,因为我必须将它写在文档上,但是我收到错误:
Traceback (most recent call last):
File "/Users/macbookpro-jonathanprieto/PycharmProjects/utec/programadiegotest.py", line 2130, in <module>
informe2.write("La cantidad de Queso Fresco de 1kg dañado ha sido de: "+bora+" unidades")
UnicodeEncodeError: 'ascii' codec can't encode character '\xf1' in position 37: ordinal not in range(128)
我已经用这种方式做了很多次,但现在它不起作用了。
Pd:我正在使用python 3。
谢谢
答案 0 :(得分:4)
不是变量bora
触发了错误,而是ñ
字符。
确保在打开文件时指定可以处理非ASCII字符的编码,例如:
with open("informe2.txt", "w", encoding="utf-8") as informe2:
# do stuff
此外,您不必将bor
转换为字符串:
informe2.write("La cantidad de Queso Fresco de 1kg dañado ha sido de: {} unidades".format(bor))