Python不创建fi

2024-10-01 11:41:11 发布

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

我试图用Python写一个文本文件。该文件尚不存在,因此我正在使用:

def writeToTextFile(players):
    file = open('rankings.txt', 'a')
    for player in players:
        file.write(player.name, player.rating, player.school, '\n')
    file.close()

我使用'a'作为append,我认为它会创建一个新文件(基于文档)。我在我的桌面上(我在那里运行我的脚本),没有“排名.txt“要找到的文件。在

有什么办法解决吗?在

谢谢, B外行


Tags: 文件nameintxtfordefopenfile
1条回答
网友
1楼 · 发布于 2024-10-01 11:41:11

write命令的语法不正确。函数只接受字符串作为参数。例如:

file.write("{}, {}, {}\n".format(player.name, player.rating, player.school))

我已经模拟了一个完整脚本的快速示例,以在实际操作中显示这一点:

^{pr2}$

此脚本创建5个Player对象,并将它们附加到players列表中。这将传递给您的writeToTextFile函数。然后,它在运行脚本的位置创建rankings.txt文件,输出如下:

Name 0, 100, School 0
Name 1, 99, School 1
Name 2, 98, School 2
Name 3, 97, School 3
Name 4, 96, School 4

更改或改进:

  • 我将file变量改为f,以防止隐藏同名的内置对象。在
  • 您可以做的另一个更改是使用with,而不是手动open和{}来处理文件对象。在

可以这样做:

with open('rankings.txt', 'a') as f:
    for player in players:
        f.write("{}, {}, {}\n".format(player.name, player.rating, player.school))

相关问题 更多 >