在文本文件中搜索 python 中的字符串

Searching text file for string in python

我正在使用 Python 在一个大文本文件中搜索某个字符串,该字符串下方是我有兴趣对其进行数据分析的数据。

def my_function(filename, variable2, variable3, variable4):
array1 = []

with open(filename) as a:
    special_string = str('info       %d        info =*' %variable3)
    for line in a:
        if special_string == array1:
            array1 = [next(a) for i in range(9)]
            line = next(a)    
            break
        elif special_string != c:
            c = line.strip()

special_string 变量中,info = 之后的内容可能会有所不同,因此我尝试放置一个通配符运算符,如上所示。我可以将函数设置为 运行 的唯一方法是,如果我输入要搜索的确切字符串,包括等号后的所有内容,如下所示:

special_string = str('info         %d       info = more_stuff' %variable3)

如何为字符串的其余部分分配通配符以使我的函数更健壮?

你有没有想过使用这样的东西? 根据您的意见,我假设如下:

variable3 = 100000
special_string = str('info         %d       info = more_stuff' %variable3)

import re
pattern = re.compile('(info\s*\d+\s*info\s=)(.*)')
output = pattern.findall(special_string)
print(output[0][1])

哪个 return:

more_stuff

如果您的特殊字符串总是出现在一行的开头,那么您可以使用下面的检查(其中special_string 不会 末尾有 *):

line.startswith(special_string)

否则,请务必查看 module re in the standard library 以了解如何使用正则表达式。