【发布时间】:2019-03-28 04:21:34
【问题描述】:
我正在尝试查找“AAXX”并在上面两行添加“Hello”这个词:
Input:
111
222
AAXX
333
444
AAXX
555
666
AAXX
Output:
Hello
111
222
AAXX
Hello
333
444
AAXX
Hello
555
666
AAXX
我已经设法通过使用下面的代码在第一个“AAXX”之前的两行插入一个“Hello”,但我无法让它循环遍历文件并对所有“AAXX”匹配项执行相同的操作。
import os
with open(os.path.expanduser("~/Desktop/test.txt"), "r+") as f:
a = [x.rstrip() for x in f]
for i, item in enumerate(a):
if item.startswith("AAXX"):
a.insert(i-2,"Hello")
break
index += 1
# Go to start of file and clear it
f.seek(0)
f.truncate()
# Write each line back
for line in a:
f.write(line + "\n")
到目前为止,我得到:
Hello
111
222
AAXX
333
444
AAXX
555
666
AAXX
【问题讨论】:
-
您输入的类型是什么?字符串或列表
-
index += 1的作用是什么? -
@pyd 这是一个字符串 :)
-
@Yusufsn 感谢您的提问。你可以忽略那部分。我只是尝试了没有它并没有改变任何东西。