Python -如何在变量中存储搜索结果(列表)?



我在变量中存储列表时遇到了麻烦。我是python的新手,所以我不知道这是不是正确的方法。在下面的例子中,我正在某个目录下的文本文件中搜索字符串。我喜欢将搜索结果存储在一个变量中。

我有这个:

import os.path
import glob
rootDir = '/Volumes/audio/TRANSCRIBE/OUT'
os.chdir( rootDir )
for files in glob.glob( "*.txt" ):
with open(files) as f:
contents = f.read()
if (re.search(r'b'+ re.escape(searchPhrase) + r'b', contents, re.IGNORECASE)):
print( files )

"搜索结果"输出:

FW_A01_2020-12-01_1812_C0003.txt
FW_A01_2020-12-01_1908_C0010.txt
FW_A01_2020-12-01_2204_C0032.txt
FW_A01_2020-12-09_0350_C0225.txt
FW_A01_2020-12-09_0352_C0226.txt
FW_A01_2020-12-09_0353_C0227.txt
FW_A01_2020-12-09_0353_C0228.txt

我的问题:如何将搜索结果存储在变量中?

我试过了:

searchResult = files

但这行不通。

您可以添加一个空列表,您可以像这样添加每个新结果:

results = []
for files in glob.glob( "*.txt" ):
with open(files) as f:
contents = f.read()
if (re.search(r'b'+ re.escape(searchPhrase) + r'b', contents, re.IGNORECASE)):
results.append(files)

尝试:

创建一个数组/列表,并使用.append()

将它们添加到列表中
import os.path
import glob
results = []
rootDir = '/Volumes/audio/TRANSCRIBE/OUT'
os.chdir( rootDir )
for files in glob.glob( "*.txt" ):
with open(files) as f:
contents = f.read()
if (re.search(r'b'+ re.escape(searchPhrase) + r'b', contents, re.IGNORECASE)):
results.append(files)
print( files )

最新更新