如何让Python搜索文本文件并打印每一行匹配的内容?

如何让Python搜索文本文件并打印每一行匹配的内容?,python,python-3.x,list,function,search,Python,Python 3.x,List,Function,Search,我为这个问题道歉。我正在努力学习Python。我已经搜索了这个网站,还没有找到适合我的解决方案。请让我知道,如果一个已经解释 我正在尝试在.txt文件中创建一个电影标题列表搜索程序,我希望它打印包含用户输入的单词的每一行 例如,如果文本文件中的两行是 22. It Happened One Night (1934) 23. Wonder Woman (2017) 而用户输入“on”我希望这两个(以及任何其他)都出现,因为它们在某个点上都包含“on” 我试过使用 with open("movie

我为这个问题道歉。我正在努力学习Python。我已经搜索了这个网站,还没有找到适合我的解决方案。请让我知道,如果一个已经解释

我正在尝试在
.txt
文件中创建一个电影标题列表搜索程序,我希望它打印包含用户输入的单词的每一行

例如,如果文本文件中的两行是

22. It Happened One Night (1934)
23. Wonder Woman (2017)
而用户输入“on”我希望这两个(以及任何其他)都出现,因为它们在某个点上都包含“on”

我试过使用

with open("movies.txt", "r") as f:
     searchlines = f.readlines()
for i, line in enumerate(searchlines):
    if searchphrase in line: 
        for l in searchlines[i:i+3]: print(l),
        print

但这对我不起作用。

像这样的事情可能:

with open("movies.txt", "r") as file:
    lines = file.read().splitlines()

keyword = "on"

filtered_lines = filter(lambda line: keyword.casefold() in line.casefold(), lines)

for line in filtered_lines:
    print(line)

可能是这样的:

with open("movies.txt", "r") as file:
    lines = file.read().splitlines()

keyword = "on"

filtered_lines = filter(lambda line: keyword.casefold() in line.casefold(), lines)

for line in filtered_lines:
    print(line)

您可以参考下面的代码片段

def search(text_search):
    with open("movies.txt", "r") as f:
        searchlines = f.readlines()
        for i, line in enumerate(searchlines):
            # if line contains text_search we will print it
            if text_search in line:
                print(line)
if __name__ == "__main__":
    search("One")

您可以参考下面的代码片段

def search(text_search):
    with open("movies.txt", "r") as f:
        searchlines = f.readlines()
        for i, line in enumerate(searchlines):
            # if line contains text_search we will print it
            if text_search in line:
                print(line)
if __name__ == "__main__":
    search("One")
示例使用以下命令调用函数:search(“ON”)

编辑缩进

示例使用以下命令调用函数:search(“ON”)


编辑缩进

请解释“不起作用”是什么意思。你的代码导致错误了吗?或者您只是没有得到任何输出?请解释“没有工作”是什么意思。你的代码导致错误了吗?或者你只是没有得到任何输出?谢谢你的回答!不幸的是,我仍然遇到了它不总是工作的问题,例如当输入“奇迹”时,神奇女侠没有表现出对你答案的感激!不幸的是,我仍然遇到了它不总是工作的问题,例如,当输入“奇迹”时,神奇女侠没有出现