无法从Python 3.x以.txt格式保存文件

无法从Python 3.x以.txt格式保存文件,python,python-3.x,jupyter-notebook,Python,Python 3.x,Jupyter Notebook,下面的代码有如下输出,我试图将内容保存在.txt文件中,但得到的错误如下 样本输出: CD打开要写入的文件时,需要指定写入的是字节,而不是字符串,如下所示:open('f1.txt','wb')。您也可以按照@Wrykoulaka的建议,选择将其作为字符串写入 此错误是由于在写入文件之前尝试对字符串s1进行编码造成的 使用f.write(s1),你应该会没事。问题:你写的是字节而不是文本 行: f.write(s1.encode('utf-8')) 解决方案: 对于列表1中的项目: 打开(“

下面的代码有如下输出,我试图将内容保存在.txt文件中,但得到的错误如下 样本输出:


CD
打开要写入的文件时,需要指定写入的是字节,而不是字符串,如下所示:
open('f1.txt','wb')
。您也可以按照@Wrykoulaka的建议,选择将其作为字符串写入

此错误是由于在写入文件之前尝试对字符串s1进行编码造成的


使用
f.write(s1)
,你应该会没事。

问题:你写的是字节而不是文本 行:

f.write(s1.encode('utf-8'))
解决方案:

对于列表1中的项目:
打开(“f1.txt”、“a”)作为f:
f、 写入(项目+“\n”)
f、 关闭()
解决方案说明:对于list1的每一行,打开f1.txt并将这些行作为字符串而不是字节追加

for i in range(len(list1)):
  list1[i] = list1[i].strip()
  print(list1[i])    
f=open('f1.txt','wb')  
s1='\n'.join(list1)
f.write(s1.encode('utf-8'))  
f.close()

当您对字符串进行编码时,它将转换为位,因此输出文件应处于二进制模式,以便将其写入文件中。open()函数中的“b”激活二进制模式。

这是否回答了您的问题?我得到这个错误:f1.txt不是UTF-8编码保存禁用如果我从我的本地驱动器进入文件,我会看到内容,但在Jupyter中如果我打开,我会得到上面的错误。我得到这个错误:f1.txt不是UTF-8编码保存禁用如果我从我的本地驱动器进入文件,我会看到内容,但在Jupyter中如果我打开,我会得到上面的错误。而代码可能会解决这个问题,解决这个问题的方式和原因将真正有助于提高您的帖子质量,并可能导致更多的投票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在回答中添加说明,并说明适用的限制和假设。添加说明,感谢您的建议@БогданОпир