我有一个包含用户的文件:
Sep 15 04:34:31 li146-252 sshd[13326]: Failed password for invalid user ronda from 212.58.111.170 port 42579 ssh2
Sep 15 04:34:33 li146-252 sshd[13328]: Failed password for invalid user romero from 212.58.111.170 port 42715 ssh2
Sep 15 04:34:36 li146-252 sshd[13330]: Failed password for invalid user rom from 212.58.111.170 port 42838 ssh2
正在尝试使用字符串的索引方法打印文件中的用户,但该方法不起作用:
with open ('test.txt') as file:
for line in file.readlines():
lines = line.split()
string = ' '.join(lines)
print string.index('user')+1
这将把紧跟其后的所有用户名打印到字符串
user
。你知道吗它的作用是:
查看文件中的每一行
根据该行原始字符串版本中的空白,将该行拆分为项目列表
在新创建的列表项中搜索
user
,并记住找到user的索引。在找到用户的索引中添加1并打印该项
代替
print(line[10])
你可以只做print(line[10])
。不过,这假设名称将位于同一位置。我会这样做的。你知道吗另外,如果您想更改日志中的名称,下面是如何更改的。你知道吗
这将打印出文件中包含的用户名。它假定用户名始终是行中第一个“user”实例后面的单词。注意处理任何不包含单词“user”的行,或将“user”作为行中最后一个单词的行。你知道吗
相关问题 更多 >
编程相关推荐