在python中读取公共字符串

2024-05-14 12:40:07 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我想读取和显示strB的行号,这是一个常见的字符串,并在读取字符串a到字符串a的行号后立即在文件中跟随

i am a common line
i am a common line
i am a common line
i am a common line
defghijklt 
I am a unique line 
jaslkdjaldjsadsajdlakjdasldj
spjpsijgpigjpijgjfdpgfdpgjdppdfjgdpfpi
jspijdfpgfdjgfdijgdfpjgdfpijgdfijfdoifdjpi
jgdfjfdpijfdpijgdgdjfdfjgidjgfdoijdfojgdfoijfdoo
jgdfoijfdijfdoifdjgfdoijgfdoijfdojfdoijfdojfdoifjdogfdjoi
i am a common line    
i am a common line
ueowueoodsjpdogfdpofdpofdpdfigdpgdifgdifdiikpkpjfdspjf 

这是我的密码:

strB = 'i am common line'
strA = 'I am a unique line'

input_file = open('mynewfile.txt', 'r')
with input_file as myFile:
    for num, line in enumerate(myFile):
        if strA in line:
            print num
            for num in range (num, num+12):
                if strB in line:
                    print num

请建议我该怎么办?你知道吗


Tags: 字符串inforinputiflinecommonam
1条回答
网友
1楼 · 发布于 2024-05-14 12:40:07

只需设置一个标志:

input_file = open('mynewfile.txt', 'r')
with input_file as myFile:
    foundA = False
    for num, line in enumerate(myFile):
        if strA in line:
            foundA = True
            print num

        # Only look for `strB` if `strA` has been seen first
        if foundA and strB in line:
            print num
            break  # stop reading the file.

或者,嵌套循环,以搜索每个strB-after-strA事件:

input_file = open('mynewfile.txt', 'r')
with input_file as myFile:
    enumerated = enumerate(myFile):
    for num, line in enumerated:
        if strA in line:
            print num
            for num, line in enumerated:
                if strB in line:
                    print num
                    break  # search for next strA

相关问题 更多 >

    热门问题