【发布时间】:2021-04-25 18:51:23
【问题描述】:
我正在尝试将 txt 文档中的行读入列表,但我不断收到消息:IndexError: list index out of range。它指向最后一行 password = usersdoc1.strip() 作为问题。
k = open(filename, 'r')
lines = k.readlines()
for line in lines:
usersdoc=line.strip().split('-')
username = usersdoc[0].strip()
password = usersdoc[1].strip()
我正在阅读的文档的每一行都有一个用户名和一个密码,由“-”分隔,我能够成功打印 username 和 password,但是当我运行我的完整代码,我只是得到一个错误。我似乎无法弄清楚问题是什么。 Here is the document I am reading
【问题讨论】:
-
第 2 行有一个用户名,即“Jack”,但没有密码。所以,
usersdoc[1]是导致错误的原因,b/c 该行中没有第二个元素。 -
谢谢!我添加了 if len(usersdoc)
-
下面的答案已经涵盖了您,但您可能也对multiple assignment 感兴趣。写起来会很好很干净,例如
username, password = line.strip().split(' - ')。