Python Split仅采用3个数组

时间:2019-06-01 01:42:40

标签: python

我正在制作一些脚本,以使用|分隔两个数组,并使用两行

对其进行了即时测试。
email1|password1
email2|password2

它只会给我

password1
email2|password2

我尝试使用其中的一行,但是它给了我IndexError: list index out of range

分割脚本

import sys

maillist = sys.argv[1]
email = open(maillist, 'r').read().split('|')
print(email[1]+'|'+email[2])

2 个答案:

答案 0 :(得分:0)

我认为您现在遇到的真正问题是,您可能不知道Pyhon从0开始计数而不是从1开始计数。关于该问题的完整解决方案,我将向您介绍Jab的答案。

答案 1 :(得分:0)

如果您的文件如下所示:

email1|password1
email2|password2

然后用“ |”分隔那么您将获得3个返回值,第一个是电子邮件,然后是第一个密码,第二个电子邮件是一个项目,然后是第二个密码。因此,当您访问第二和第三项时,您只会丢失第一封电子邮件。您需要先.split()然后.split('|')来删除该行或遍历每行。

import sys

maillist = sys.argv[1]
with open(maillist, 'r') as email:
    for line in email:
        email, pass = line.split('|')
        print(email, '|', pass)