Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 使用python,搜索文本并在python中打印接下来的几行_Python 3.x - Fatal编程技术网

Python 3.x 使用python,搜索文本并在python中打印接下来的几行

Python 3.x 使用python,搜索文本并在python中打印接下来的几行,python-3.x,Python 3.x,目前我还不熟悉Python3.x编码,正在寻找文本搜索方面的帮助 我有一个超过8000行的大文件,需要在这个文件中找到一个文本。一旦找到文本,需要随后的3行以及重定向到新文件的(文本)行 在此方面的任何帮助都将不胜感激。当您在文件中找到该行时,您应该能够只执行file.readline()来获取下一行。(您应该使用.find()进行字符串搜索,这只是一个简单的示例) 有一种方法可以在每次找到匹配项时打开输出文件进行追加: search_string = 'search' with open('i

目前我还不熟悉Python3.x编码,正在寻找文本搜索方面的帮助

我有一个超过8000行的大文件,需要在这个文件中找到一个文本。一旦找到文本,需要随后的3行以及重定向到新文件的(文本)行


在此方面的任何帮助都将不胜感激。

当您在文件中找到该行时,您应该能够只执行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)])