Py学习  »  Python

Print命令在python中不起作用

Dante Duong • 4 年前 • 491 次点击  

有谁能帮我解决我做错的事吗。因此,我需要将从文件中读取的名称打印在一列列表中,如下所示:

管理员

管理员

管理员

....

管理员

但我的代码一直像这样横向打印出名字:

['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( ))
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49334
 
491 次点击  
文章 [ 2 ]  |  最新文章 4 年前
FatihAkici
Reply   •   1 楼
FatihAkici    4 年前

它只是打印你的用户列表。列表的格式为['A'、'b'、…]您可以这样做:

for x in parse_file():
    print(x)
Stefan Kögl
Reply   •   2 楼
Stefan Kögl    4 年前

print命令正常工作。它打印字符串列表。

你可能想做以下事情

>>> l = ['admin', 'admin', 'admin', 'admin', 'admin']
>>> print('\n'.join(l))
admin
admin
admin
admin
admin

str.join(iterable) 对于“丢失”的函数。