Python 3.x 使用python,搜索文本并在python中打印接下来的几行
目前我还不熟悉Python3.x编码,正在寻找文本搜索方面的帮助 我有一个超过8000行的大文件,需要在这个文件中找到一个文本。一旦找到文本,需要随后的3行以及重定向到新文件的(文本)行Python 3.x 使用python,搜索文本并在python中打印接下来的几行,python-3.x,Python 3.x,目前我还不熟悉Python3.x编码,正在寻找文本搜索方面的帮助 我有一个超过8000行的大文件,需要在这个文件中找到一个文本。一旦找到文本,需要随后的3行以及重定向到新文件的(文本)行 在此方面的任何帮助都将不胜感激。当您在文件中找到该行时,您应该能够只执行file.readline()来获取下一行。(您应该使用.find()进行字符串搜索,这只是一个简单的示例) 有一种方法可以在每次找到匹配项时打开输出文件进行追加: search_string = 'search' with open('i
在此方面的任何帮助都将不胜感激。当您在文件中找到该行时,您应该能够只执行file.readline()来获取下一行。(您应该使用.find()进行字符串搜索,这只是一个简单的示例)
有一种方法可以在每次找到匹配项时打开输出文件进行追加:
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(infle)
位迭代文件中的下一行。这也适用于其他迭代器。您应该发布您所尝试的代码。我建议尝试以下函数和方法str.find('text')open(filename,'r')readline()
@stevensmmers谢谢。我正在学习并尝试调整我的工作,非常感谢你的帮助。任何关于如何解析输入然后在文件中搜索的建议。一旦找到,需要在其他文件中的当前行和下几行。name=input('Enter file:'),open(name)为f:open(“output.txt”,“w”)为f1:for-in-f:if-flag:f1。write(line+'\n')flag=False(如果用户在第f1行输入)。write(line)flag=true感谢您的帮助。我可以解析来自用户或其他文件的输入,而不是“mystring”,并将输出重定向到其他文件中。
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)])