【发布时间】:2020-11-25 12:49:55
【问题描述】:
我正在尝试在 Python 中读取和写入文本文件的多行。我的目标是使用我给脚本的输入来指定我想要更改的行。该脚本在指定单行时有效,但在多行时无效。
例如,假设我有这个文件:
Item 1
Item 2
Item 3
当尝试对单行执行以下操作时,它工作正常:
a_file = open("filename.yml", "r")
list_of_lines = a_file.readlines()
list_of_lines[1] = "Item: " + (input('Input: ')) + "\n"
a_file = open("filename.yml", "w")
a_file.writelines(list_of_lines)
a_file.close()
但我似乎无法弄清楚如何为多行文本文件应用相同的输入。 我尝试过但没有用的方法:
a_file = open("filename.yml", "r")
list_of_lines = a_file.readlines()
list_of_lines[1][2] = "Item: " + (input('some input: ')) + "\n"
a_file = open("filename.yml", "w")
a_file.writelines(list_of_lines)
a_file.close()
【问题讨论】:
-
list_of_lines[1] = ...,list_of_lines[2] = ...? -
list_of_lines是文件行的列表。您需要遍历此列表以逐行获取每一行。或者您可以访问索引从 0 开始的每一行。