在Python中,如何在文档中搜索关键字,然后在原始关键字的一组行中搜索后续关键字?
我想在文档中搜索一个关键字,然后检查该关键字是否在另一个关键字的5行内。如果是,我想打印这行和下面的50行 在本例中,我正在搜索文档中的“携带”一词,我希望确保“携带”一词在“金融资产”一词的5行以内:“当我只搜索“携带”时,我的代码能够找到并打印这些行,但当我搜索“金融资产”时,它什么也找不到。”(尽管我知道它在文件中) 任何帮助都将不胜感激。代替在Python中,如何在文档中搜索关键字,然后在原始关键字的一组行中搜索后续关键字?,python,search,Python,Search,我想在文档中搜索一个关键字,然后检查该关键字是否在另一个关键字的5行内。如果是,我想打印这行和下面的50行 在本例中,我正在搜索文档中的“携带”一词,我希望确保“携带”一词在“金融资产”一词的5行以内:“当我只搜索“携带”时,我的代码能够找到并打印这些行,但当我搜索“金融资产”时,它什么也找不到。”(尽管我知道它在文件中) 任何帮助都将不胜感激。代替 "Financial Assets:" in searchlines[m-5:m+5] 您需要: any("Financial Assets:"
"Financial Assets:" in searchlines[m-5:m+5]
您需要:
any("Financial Assets:" in line2 for line2 in searchlines[m-5:m+5])
您的原始代码将查找一行,该行正好包含“Financial Assets:”内容,而不是在每行中查找作为子字符串的内容。表达式
"carrying" in line
在行内的任何位置搜索字符串。但是
"Finantial Assets:" in searchlines[m-5:m+5]
正在该子列表中搜索完全匹配的行(即一行正好是“Finential Assets:”)。您需要将第二部分更改为类似的内容
"Finantial Assets:" in " ".join(searchlines[m-5:m+5])
"Finantial Assets:" in " ".join(searchlines[m-5:m+5])