在文本文件中搜索日期

时间:2014-03-23 15:40:04

标签: python

请允许有人帮我整理这段代码,因为我是python的新手,我认为我没有以最有效的方式编写它:

elif choice == "2":
    birthday = input("Which birthday month do you require?e.g.  /10/ : ")
    for line in searchfile:
        if birthday in line:
           print (line)
searchfile.close

1 个答案:

答案 0 :(得分:1)

三个提示:

通常使用raw_input代替input更安全,因为后者在将输入传递给代码之前对其进行评估,因此允许执行任意代码。

如果' 10'在文件中,那么' 1',所以如果有人搜索了1月(' 1'),他们会找到1月,10月,11月和12月的生日。也许你可以在数据文件中拼出出生月份?

如果你只是打开搜索文件来读取生日数据,请等到你在if语句中打开它,然后用with语句打开它以无形地关闭它

我会用以下方式编写代码:

elif choice == '2':
    birthday = raw_input("Which birthday month do you require? e.g. January: ")
    for line in searchfile:
        if birthday in line:
            print(line)
    searchfile.close()

注意:print(line)适用于Python 2.x和Python 3.x。