有人可以帮我解决我做错了什么。所以我需要在列表的列中打印出从文件读取的名称,如下所示:
admin
admin
admin
....
admin
但是我的代码继续像这样横向打印名称:
[['admin','admin','admin','admin','admin']
任何帮助都将不胜感激。
# Define a function
def parse_file():
users = []
filename = "auth.log"
file = open(filename, 'r')
string = "invalid user"
# Parsing auth.log file, detect invalid users, sort them and return the result
for i in file:
i = i.lower()
pos = i.find(string)
if pos >= 0:
index = pos + len(string) + 1
user = i[index:].split(" ")[0]
users.append(user)
users.sort()
return users
if __name__ == "__main__":
print(parse_file( ))
打印命令可以正常工作。它显示字符串列表。
您可能想要执行以下操作
>>> l = ['admin', 'admin', 'admin', 'admin', 'admin']
>>> print('\n'.join(l))
admin
admin
admin
admin
admin
请参见str.join(iterable)
以了解“丢失”的功能。
这只是打印您的用户列表。列表的格式为['a','b',...]您可以执行以下操作:
str.join(iterable)