如何在每一行上提取列表的特定部分?

时间:2019-02-01 18:15:30

标签: python

我有一个列表吐出信息是这样的:int,等等..

我希望以后可以提取特定的用户名和密码。 例如: ['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'](针对所有用户名)

然后我以后只想告诉特定用户他们的密码。例如,我想向用户abc发送电子邮件。该电子邮件应该只包含的用户名和用户口令ABC

3 个答案:

答案 0 :(得分:1)

将它们附加到列表中,而不是打印onPress={() => props.navigation.navigate('Login')}

parts

然后您可以将它们转换成字典以供查找

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

答案 1 :(得分:0)

如果我正确理解这一点,则部分是包含[Username:Password]的列表。如果是这种情况,我们可以将其中应该只有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)

答案 2 :(得分:0)

执行此操作后

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

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

所以我会这样做

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

新列表列表现在应该看起来像[[用户名,密码],[用户名,密码]]

然后只需执行以下操作:

dict_of_usernames_and_passwords = dict(new_list_of_lists)

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

dict_of_usernames_and_passwords['abc']

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