如何使用函数从文本文件中提取信息。Python 3
“我已经起床很久了,如果我不清楚的话,很抱歉。 基本上我要做的任务,比如查询数据库,有一个包含信息的外部文本文件。 用户将查询一个条件,我应该能够返回的信息 例如:如何使用函数从文本文件中提取信息。Python 3,python,list,file,io,tuples,Python,List,File,Io,Tuples,“我已经起床很久了,如果我不清楚的话,很抱歉。 基本上我要做的任务,比如查询数据库,有一个包含信息的外部文本文件。 用户将查询一个条件,我应该能够返回的信息 例如: Text file = RegNo **' Year'** 53245 **'3'** GH4P Richard Steel 35134 **'2'** G400A Anub Fankool etc 因此,3和2在年份标题下。 我想写一个程序,用户将输入他们想要检索的年份 例如第2年,然后它将检索数据:35134 2
Text file =
RegNo **' Year'**
53245 **'3'** GH4P Richard Steel
35134 **'2'** G400A Anub Fankool
etc
因此,3和2在年份标题下。
我想写一个程序,用户将输入他们想要检索的年份
例如第2年
,然后它将检索数据:35134 2 G400A Anub Fankool
需要对Regno
和name
执行相同的操作
只需要朝正确的方向推动,我就可以开始/完成这项工作
谢谢
迄今为止的代码:
def order_name(regno, year, course, first_name, middle_name, last_name=None):
if not last_name:
last_name = middle_name
else:
first_name = "%s %s" % (first_name, middle_name)
return ("%s, %s" % (last_name, first_name), regno, course, year)
您可以使用
re
模块尝试类似的内容。ISs年份在引号中?请告诉我们您尝试了什么?不,年份不在引号中。我不知道该怎么做,事情就是这样。我这里有这个密码。(更新后的帖子)我正在考虑使用函数中的年份来缩小结果范围,但这一切都在我的脑海中,我不知道如何编写代码。
import re
s =""" 53245 3 GH4P Richard Steel\n35134 2 G400A Anub Fankool"""
x="2"
print re.findall(r"^(?=\d+\s+"+x+"\s+).*$",s,re.MULTILINE)