考虑 asset/logdata.txt 中的标准 Web 日志文件。该文件记录用户在访问网页时进行的访问(就像这个!)。日志的每一行都有以下项目:
主机(例如,'146.204.224.152')
user_name(例如,'feest6811'注意:有时用户名会丢失!在这种情况下,请使用“-”作为用户名的值。)
提出请求的时间(例如,'21/Jun/2019:15:45:24 -0700')
post 请求类型(例如,'POST /incentivize HTTP/1.1'注意:并非所有内容都是 POST!)
您的任务是将其转换为字典列表,其中每个字典如下所示:
example_dict = {"host":"146.204.224.152",
"user_name":"feest6811",
"time":"21/Jun/2019:15:45:24 -0700",
"request":"POST /incentivize HTTP/1.1"}这是 txt 数据文件的示例。

我写了这几行代码:
import re
def logs():
with open("assets/logdata.txt", "r") as file:
logdata = file.read()
#print(logdata)
pattern="""
(?P<host>.*)
(-\s)
(?P<user_name>\w*)
(\s)
([POST]*)
(?P<time>\w*)
"""
for item in re.finditer(pattern,logdata,re.VERBOSE):
print(item.groupdict())
return(item)
logs()
它帮助我完成了任务"host","user_name"但是我无法继续完成其余的要求。有人可以帮忙吗?

慕哥6287543
呼唤远方
千万里不及你
阿波罗的战车
繁星淼淼
随时随地看视频慕课网APP
相关分类