Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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 3.x_File - Fatal编程技术网

Python 3.x 逐行读取文件,但从某个点开始

Python 3.x 逐行读取文件,但从某个点开始,python-3.x,file,Python 3.x,File,我必须逐行读取文件,但在比赛发生后开始打印它的比赛。让我们假设匹配应该是XXX 因此,如果我们有一个包含以下内容的文件 wdwdw dwdww XXX DWDM 111 它应该显示DWDM和111 我试着用下面的方法 file open('buffer.txt', 'r') for line in file: if re.search('XXX'. line): print(line) 但它只打印一行。如何强制打印其余部分?它只打印匹配行,这是正常的。试试这样:

我必须逐行读取文件,但在比赛发生后开始打印它的比赛。让我们假设匹配应该是XXX

因此,如果我们有一个包含以下内容的文件

wdwdw
dwdww
XXX
DWDM
111
它应该显示DWDM和111

我试着用下面的方法

file open('buffer.txt', 'r')
for line in file:
    if re.search('XXX'. line):
          print(line)

但它只打印一行。如何强制打印其余部分?

它只打印匹配行,这是正常的。试试这样:

with open('buffer.txt', 'r') as f:
    matched = False 
    for line in f:
        if matched:
            print(line)
        if re.search('XXX', line):
            matched = True

1) 不要使用正则表达式进行简单搜索。
2) 用
语句打开文件。
3) 只需创建一个布尔变量,在看到所需行时告诉您:

with open('buffer.txt', 'r') as f:
    start_printing = False
    for line in f.readlines():
        if start_printing:
            print(line)
        elif 'XXX' in line:
            start_printing = True
file=open('buffer.txt','r')
发现=错误
对于文件中的行:
如果未找到:
如果重新搜索('XXX'。行):
找到=真
其他:
打印(行)

注意这将打印OP输出中不需要的
XXX
行。它还使用
re.search
,这对于
搜索中的一个微不足道的
,是不必要的导入。也就是说,我们都有相同的想法:p关于操作顺序的看法是正确的,但是,不管怎样,使用
re
,即使在示例中看起来很琐碎,对于实际用例来说可能是需要的,例如,如果文件是带有日期的日志文件。。。