[英]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.