搜索文件中的单词并仅打印两个分隔符之间的文本

时间:2016-11-06 00:24:54

标签: python python-3.x

我试图编写一个搜索功能,以便从中读取文件并打印名称,而没有该行的任何其他信息,我发现了如何仅打印整行...

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 ;;"就像电影名称所在的那样,并将其打印出来。

谢谢,希望我的问题很明确,英语不是我的母语。

2 个答案:

答案 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 ;;'。