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

Python read/write file exercise. How to print a list to a text file

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

提前致谢!

您当前正在循环内打开和关闭文件,这是根本原因。

使用 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')

我无法发表评论,所以我深表歉意。如果我正确理解您的问题,这应该会有所帮助! (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()