![](/img/trans.png)
[英]How to search for word in text file and print part of line with Python?
[英]How to make Python search through a text file and print every matching line?
对总菜鸟问题表示歉意。 我正在努力学习 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)
您可以参考下面的代码片段
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 text_search.casefold() in line.casefold():
print(line)
示例调用您的函数: search("ON")
编辑缩进
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.