Python用变量名写入文件,但看起来不是这样

2024-04-19 14:58:54 发布

您现在位置:Python中文网/ 问答频道 /正文


针对前面的问题,我现在尝试做一些不同的事情。我试着把用户名和他们的分数写进我调用的文本文件中,只是为了测试(新文件.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")

我试着把名字和分数写在表格里名称:score举个例子,因为我的名字是泰勒,如果我得到10分,我希望文件显示泰勒:10。

为什么这样不行?你知道吗


Tags: 文件代码nametxtinput地址名字事情
2条回答

把你想写的内容放到一个新的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

此外,请确保关闭该文件,否则它将不会关闭,直到您的程序结束。你知道吗

.write()只接受一个参数。您需要创建一个字符串来传递。而不是

file.write(user_name, ":", user_score "\n")

可以使用^{}创建字符串。你知道吗

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))

相关问题 更多 >