【发布时间】:2012-05-20 15:10:18
【问题描述】:
我正在尝试学习 python 并深入研究字符串函数。作为一个简单的例子,我写了这个
# example line
# username:*:231:-2:gecos field:/home/dir:/usr/bin/false
FILENAME = "/etc/passwd"
filehandle = open(FILENAME, 'r')
lines = filehandle.readlines()
for line in lines:
line = line.rstrip()
fields = line.split(':')
print fields[0]
这个例子每次都有效,并给了我一个用户名。列表中的第一个字段。
这也适用于 [0:6] 并打印所有字段。 [:1] 也打印用户名。 [-1] 也打印最后一个字段。
问题是[1]、[-2]、[2]等导致这个错误
文件“splits.py”,第 16 行,在 打印字段[-2] IndexError:列表索引超出范围
我在这里做错了吗?我确定这很愚蠢,但我正在查看的示例说我可以做 [1]、[2] 等等。
我不认为我的输入有问题,因为它是 /etc/passwd 并且 [0] 和 [-1] 有效。
非常感谢。
【问题讨论】:
标签: python python-2.7