Python使用变量名写入文件,但似乎效果不佳

时间:2015-01-29 12:49:06

标签: python file

回应上一个问题,我现在正在尝试做一些与众不同的事情。我正在尝试将用户的姓名和分数写入我调用的文本文件中,仅用于测试目的(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。

为什么这不起作用?

2 个答案:

答案 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

此外,请确保关闭文件,否则在程序结束前不会关闭。