回应上一个问题,我现在正在尝试做一些与众不同的事情。我正在尝试将用户的姓名和分数写入我调用的文本文件中,仅用于测试目的(newfile.txt):
这是到目前为止的代码:
file = open("newfile.txt", "w")
user_name = str(input("What is your name?"))
user_score = int(input("What score did you get?"))
file.write(user_name, ":", user_score "\n")
我正在尝试在表单名称中写出名称和分数:得分,例如,因为我的名字是泰勒,如果我得到10分,我希望文件显示泰勒:10。
为什么这不起作用?
答案 0 :(得分:2)
.write()
只需一个参数。您需要创建一个要传递的字符串。而不是
file.write(user_name, ":", user_score "\n")
您可以使用str.format()
创建字符串。
file.write('{} : {}\n'.format(user_name, user_score))
作为旁注,我建议使用with
关键字来处理文件的打开和关闭。
with open("newfile.txt", "w") as f:
user_name = str(input("What is your name? "))
user_score = int(input("What score did you get? "))
f.write('{} : {}\n'.format(user_name, user_score))
答案 1 :(得分:1)
如何将要写入的内容放入新var中的文件中? write()
只接受字符串类型的参数,但user_score
是一个int类型:
file = open("newfile.txt", "w")
user_name = str(input("What is your name?"))
user_score = int(input("What score did you get?"))
content = user_name + ':' + str(user_score) + '\n'
file.write(content)
file.close() # close the file
此外,请确保关闭文件,否则在程序结束前不会关闭。