我有一个项目,我需要处理大的访问日志,并获得一个所有用户的最后登录尝试列表。在处理日志时,我得到了这样的结果:
[user1, <last login recorded>, <current login>]
[user2, <no last login recorded>, <current login>]
[user1, <last login recorded>, <current login>]
[user3, <last login recorded>, <current login>]
如您所见,同一个用户记录了多次登录。我只想得到最新登录的最终名单。你知道吗
我使用datetime对象进行登录,因此比较当前登录和最后登录很容易,但我的问题是:如何临时保存当前最新登录并将其与下一个登录进行比较?你知道吗
简化代码如下所示
final_list = []
for login in log_file:
login = login.split(';')
last_login = get_last_login() #ldap search for the user last login
if last_login:
final_list.append([login[0], last_login, login[1]])
else:
final_list.append([login[0], 'no_last_login_recorded', login[1]])
因此,如果我将每个登录添加到最终的\u列表[],是否有方法检查用户是否已经在其中,并将当前登录与列表中的登录进行比较?你知道吗
正如@gkunser所指出的,您可以简单地给我们一个字典(
{}
),为用户键入如下内容:这样,您将自动覆盖用户登录信息
[这个伪代码用来表示一个不正确的集合]
相关问题 更多 >
编程相关推荐