Python 在文本文件中搜索日期
请有人帮我整理一下这段代码,因为我是python新手,我认为我没有以最有效的方式编写它:Python 在文本文件中搜索日期,python,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 三个小贴士: 通常,使用
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
三个小贴士:
通常,使用raw_input
比使用input
更安全,因为后者在将输入传递给代码之前对其进行评估,因此允许执行任意代码
如果文件中有“10”,那么“1”也是,因此如果有人搜索一月(“1”),他们会找到一月、十月、十一月和十二月的生日。也许你可以在你的数据文件中写明出生月份
如果您只打开searchfile来读取生日数据,请等待进入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)
在Python2.x和Python3.x中都可以使用。如果您在这种情况下检查“10”、“11”和“12”不在该行中,您可能可以使用“1”作为出生月份,但这取决于该行中还有什么内容(例如,如果您有一个月中的几天,它将不起作用)。谢谢,为了减少混淆,我将文本文件中的月份重命名为单词而不是数字,现在它更整洁、更易于使用。如果您想查看,请在此处发布。此问题似乎与主题无关,因为它要求查看代码。因此,它更适合codereview.stackexchange.com。谢谢你,我没有意识到,但将来我会在那里发布这种东西。