Python 有一个';不支持对str进行解码';错误

Python 有一个';不支持对str进行解码';错误,python,Python,我试图通过要求用户输入食物来创建一个随机菜单生成器,每次他们输入食物时,我都希望它在.txt文件中开始一个新行,但我得到一个“字符串不支持错误” 我已经尝试删除“文件”“\n”之前的str(),但在其他网站上找不到多少帮助 name = open("food.txt", "a") file = input("please enter food you like: ") file = str(file,"\n") name.write(file) name.close() open1 = ope

我试图通过要求用户输入食物来创建一个随机菜单生成器,每次他们输入食物时,我都希望它在.txt文件中开始一个新行,但我得到一个“字符串不支持错误”

我已经尝试删除“文件”“\n”之前的str(),但在其他网站上找不到多少帮助

name = open("food.txt", "a")
file = input("please enter food you like: ")
file = str(file,"\n")
name.write(file)

name.close()
open1 = open("food.txt", "r")
print (open1.read()) 

我希望它只是创建一个在末尾有新行的变量,但我得到一个“不支持解码str”错误

如果您只使用
打印
,问题就没有意义了:

with open("food.txt", "a") as f:
    food = input("Please enter a food you like: ")
    print(food, file=f)

str()
的第二个参数是编码类型,如
utf-8
。你把
“\n”
放在那里是什么意思?您不需要调用
str()
,因为
input()
返回一个字符串。我想您的意思是
file=file+“\n”
可能重复的
input()
返回一个字符串,至少在Python 3中是这样,那么您使用的是哪个版本?(提示:添加相应的标签)。作为一个新用户,还需要阅读。@UlrichEckhardt根据预期的输入,
input
几乎肯定会引发
namererror
,如果这是Python 2。