目前我是Python 3.x编码的新手,并在文本搜索中寻找帮助。
我有超过8000行的大文件,需要在此文件中找到文本。找到文本后,需要后续的3行和(文本)行重定向到新文件。
非常感谢任何帮助。
答案 0 :(得分:1)
找到一个打开输出文件以便每次匹配时附加的方法:
search_string = 'search'
with open('infile.txt', mode='r') as infile:
for line in infile:
if search_string in line:
with open('outfile.txt', mode='a') as outfile:
outfile.writelines([line, next(infile), next(infile)])
在打开输入文件的同时打开输出文件进行写入的方法,在输入文件关闭的同时关闭文件。
search_string = 'search'
with open('infile.txt', 'r') as infile, open('outfile.txt', 'w') as outfile:
for line in infile:
if search_string in line:
outfile.writelines([line, next(infile), next(infile)])
next(infile)
位迭代文件中的下一行。这也适用于其他迭代器。
答案 1 :(得分:0)
当你在文件中找到该行时,你应该能够只使用file.readline()来获取下一行。 (您应该使用.find()进行字符串搜索,这只是一个简单的示例)。
with open('test.txt', 'r') as infile:
for line in infile:
if 'myString' in line:
line2 = infile.readline()
line3 = infile.readline()
print(line, end="")
print(line2, end="")
print(line3, end="")