Python读/写文件练习。如何将列表打印到文本文件

2024-10-02 12:35:21 发布

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

python新手。有人知道如何使文本文件具有这个枚举列表的输出吗?我目前只能看到它发生,如果它打印到控制台,但不能使它打印到文本文件的格式

例如(我知道这不是正确的格式,但只是试图显示预期的输出)这打印到控制台,但不是文件

tv_characters = ["Will Byers", "Tyrion Lannister", "Oliver Queen", "Jean Luc Picard", "Malcom Reynolds", "The Doctor", "Sam Winchester", "Sherlock Holmes"]

for index , character in enumerate(tv_characters):
  f = open("text", "w")
  print("{0}: {1}\n".format(index+1, character))

它应该有打印功能,当设置成这样,但这只有一个输出的姓氏列表

tv_characters = ["Will Byers", "Tyrion Lannister", "Oliver Queen", "Jean Luc Picard", "Malcom Reynolds", "The Doctor", "Sam Winchester", "Sherlock Holmes"]

# Write out my character list to a file called "text"
for index , character in enumerate(tv_characters):
  f = open("text", "w")
  f.write("{0}: {1}\n".format(index+1, character))
  f.close()

提前谢谢


Tags: text列表index格式tvjeanwill文本文件
2条回答

我无法评论,所以我道歉。如果我正确理解你的问题,这应该会有帮助(Python3)

# Your char list
tv_characters = ["Will Byers", "Tyrion Lannister", "Oliver Queen", "Jean Luc Picard", "Malcom Reynolds", "The Doctor", "Sam Winchester", "Sherlock Holmes"]

# no need to open and close over and over
f = open("text", "w")

for index, character in enumerate(tv_characters) : f.write(f"{index+1}: {character}\n") # basic one liner

# will close once it's done, cleans up code
f.close()

您当前正在打开;关闭循环中的文件,这是根本原因

使用with自动打开和关闭文件,并在其下放置for循环:

tv_characters = ['Will Byers', 'Tyrion Lannister', 'Oliver Queen', 'Jean Luc Picard', 'Malcom Reynolds', 'The Doctor', 'Sam Winchester', 'Sherlock Holmes']
with open('text.txt', 'w') as f:
    # Write out my character list to a file called 'text'
    for index, character in enumerate(tv_characters):
      f.write(f'{index+1}: {character}\n')

相关问题 更多 >

    热门问题