当我尝试使用.format()
将信息写入文件时,我遇到了问题
我正在尝试write()
从文本文件读取到另一个文件的文本,然后写入关于每一行的信息:
{0}
-行数
{1}
-该行有多少个空格符号
{2}
-该行总共有多少个符号
def Spausdinti_Faile(duom, tarpai_kiek, simboliai_kiek):
with open("rez.txt", "w") as fout:
i = 0
for i in range(len(duom)):
fout.write(duom[i])
print(tarpai_kiek, simboliai_kiek)
i = 0
for i in range(len(duom)):
fout.write("{0} eilutė turi {1} tarpų simbolių ir {2}
simbolių.".format(str(i + 1), str(tarpai_kiek[i]),
str(simboliai_kiek[i])))
我得到这个错误:
由于您在Windows上,文件的默认字符编码是。。。有限的东西
您的语言中的某些字符无法在该字符编码中表示,因此会出现一个错误
打开UTF-8编码的文件;它可以表示任何字符:
您还可以set the ^{} environment variable 在Windows上将Python默认设置为UTF-8,这在其他平台上已经是默认设置了
除了@AKX的好答案,您还可以大大简化代码:
如果
duom
不一定只包含字符串,请将fout.write(''.join(duom))
更改为fout.write(''.join(map(str, duom)))
(感谢AKX指出这一点)相关问题 更多 >
编程相关推荐