索引错误-对于文件中的行:line.split分为[1]和[2]

时间:2018-06-19 18:06:19

标签: python-3.x selenium login

可能是一个愚蠢的问题,但也许仍然有人可以帮助我。因此,在我的代码中,我尝试使用文本文件来获取一些登录数据并重复进行。下面的代码不起作用。

Accs.txt file looks like:
User1:Passwort1
User2:Passwort2
User3:Passwort3

code.py looks like:
file = open('Accs.txt', 'r')
for acc in file:
    Mail=acc.split(':')[0]
    Passwort=acc.split(':')[1]
    print (Mail)
    print (Passwort)

在文本文件获取列表中的第二个acc后,我得到了索引错误。我猜想它如何工作背后有一些逻辑上的东西,我没有得到。有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

你应该走

for line in file.read():
      line = line.split(":")
      mail=line[0]
      pass=line[1]

读取文件必须转到file.read()

对不起,我正在使用手机的布局:)

答案 1 :(得分:0)

我运行了相同的代码,并且运行良好。 如果文本文件中有多余的空白行,则可能会抛出该索引超出范围异常。

这是一种处理空白行的解决方法(来源:python: how to check if a line is an empty line

for acc in file:
    if acc.strip():
        lineSplit = acc.split(':')
        Mail=lineSplit[0]
        Passwort=lineSplit[1]
        print (Mail)
        print (Passwort)

另外,一次使用split()方法并将其存储到变量中以供以后通过索引稍后访问(也是在上面的代码中)更有效