繁体   English   中英

如何在每一行中拉出列表的特定部分?

[英]How to pull specific parts of a list on each line?

我有一个列表,它会吐出这样的信息: ['username', 'password'], ['username', 'password'], ['username', 'password']等等..

我希望以后能够提取特定的用户名和密码。 例如: ['abc', '9876'], ['xyz', '1234']

abc并告诉他们密码是9876 然后拉xyz告诉他们密码是1234

我试着弄乱列表,我只是在如何做到这一点上画了一个空白。

    lines = []
    with open("output.txt", "r") as f:
        for line in f.readlines():
            if 'Success' in line:
                #get rid of everything after word success so only username and password is printed out
                lines.append(line[:line.find("Success")-1])
    for element in lines:
        #split username and password up at : so they are separate entities
        #original output was username:password, want it to be username, password
        parts = element.strip().split(":")
        print(parts)

我想提取每个用户名,然后如上所述提取他们的密码

通过此运行后的当前输出是['username', 'password'] 原始输出文件有我删除的额外信息,这些信息是涉及“成功”的代码处理的

我想在没有硬编码用户名的情况下做到这一点。 我正在尝试自动执行此过程,以便它遍历每个用户名并将其格式化为"hi [username}, your password is [123]" ,对于所有用户名

后来我希望能够只告诉特定用户他们的密码。 例如,我想向用户 abc 发送一封电子邮件。 该电子邮件应仅包含用户 abc 的用户名和密码

不要打印parts ,而是将它们附加到列表中。

data = []
for element in lines:
    parts = element.strip().split(":")
    data.append(parts)

然后你可以将这些转换成字典进行查找

username_passwords = dict(data)
print(username_passwords['abc'])

如果我理解正确,部分是包含 [用户名:密码] 的列表。 如果是这种情况,我们可以将应该只有 2 个元素的部分的每个值分配给字典作为字典对,然后稍后调用用户名。

lines = []
User_Pass = {}
    with open("output.txt", "r") as f:
        for line in f.readlines():
            if 'Success' in line:
                #get rid of everything after word success so only username and password is printed out
                lines.append(line[:line.find("Success")-1])
    for element in lines:
        #split username and password up at : so they are separate entities
        parts = element.strip().split(":")
        User_Pass.update({parts[0] : parts[1]})

然后,如果您知道用户名,则可以从用户名中调用密码,如下所示:

 x = User_Pass["foo"]

或者如您在评论中所述:

for key, value in User_Pass.items():
    print('Username ' + key + ' Has a Password of ' + value)

看起来像你这样做之后

lines.append(line[:line.find("Success")-1])

行 = ['用户名:密码','用户名:密码'...]

所以我会这样做

new_list_of_lists = [element.strip().split(":") for element in lines]

new_list_of_lists 现在应该看起来像 [[username, password], [username, password]]

然后就这样做:

dict_of_usernames_and_passwords = dict(new_list_of_lists)

使用字典,您现在可以使用用户名检索密码。 喜欢:

dict_of_usernames_and_passwords['abc']

您可以使用 json 模块将 dict 保存到文件中,以便于检索。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM