我试图编写一个搜索功能,以便从中读取文件并打印名称,而没有该行的任何其他信息,我发现了如何仅打印整行...
title = input("\n Enter a movie name: ")
with open("Data_Film") as f:
for line in f:
if title in line:
print(line)
这里看起来像它必须搜索的文件:
1;Avatar;Science Fiction;3;2;3.99
2;Little Frog;Horror;2;3;3.99
...
所以,如果我搜索一个标题,我希望它只能从第一个&#34 ;;"到第二个&#34 ;;"就像电影名称所在的那样,并将其打印出来。
谢谢,希望我的问题很明确,英语不是我的母语。
答案 0 :(得分:2)
假设您的数据文件始终采用该格式,并且标题始终位于第二个“;”之后,您可以使用分号作为分隔符使用本机分割函数。这将分号线分成一个数组,标题是第二个元素。
title = input("\n Enter a movie name: ")
with open("Data_Film") as f:
for line in f:
if title in line:
print(line.split(';')[1])
答案 1 :(得分:0)
试试这个:
title = input("\n Enter a movie name: ")
with open("Data_Film") as f:
for line in f:
name = line.split(';')[1]
if title == name:
print(name)
这会修复缩进,仅在第一个和第二个之间进行搜索&#39 ;;'。