簡體   English   中英

在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])

哪個會返回:

more_stuff

如果您的特殊字符串始終出現在行的開頭,則可以使用以下檢查(其中special_string的末尾沒有 * ):

line.startswith(special_string)

否則的話,看看請模塊re在標准庫中的使用正則表達式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM