将文件名添加到多个for循环

问题描述 投票:0回答:1

我有一个文件名列表,像这样。

file_names = ['file1', 'file2']

另外,我有一个关键词列表,我试图从一些文件中提取。因此,关键词(list_1list_2)和来自file1file2的文本字符串列表如下,

## list_1 keywords
list_1 = ['hi', 'hello']

## list_2 keywords
list_2 = ['I', 'am']

## Text strings from file_1 and file_2
big_list = ['hi I am so and so how are you', 'hello hope all goes well by the way I can help you']

我提取文字的功能,

def my_func(text_string, key_words):    
    sentences = re.findall(r"([^.]*\.)" ,text_string)  
    for sentence in sentences:
        if all(word in sentence for word in key_words):
            return sentence

现在,我将通过两个不同的for循环(如下所示)和funciton来浏览多个列表。在这些多个for循环的每次迭代结束后,我想用file_names列表中的文件名保存文件。

for a,b in zip(list_1,list_2):
    for item in big_list:
        sentence_1 = my_func(item, a.split(' '))
        sentence_2 = my_func(item, b.split(' '))
        ## Here I would like to add the file name i.e (print(filename))

        print(sentence_1)
        print(sentence_2)

我需要一个看起来像这样的输出,

file1 is:
None
file2 is:
None

您现在可以在输出中忽略None,因为我主要关注迭代文件名列表并将它们添加到我的输出中。我很感激任何帮助来实现这一目标。

python-3.x list for-loop
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.