【发布时间】:2012-06-27 08:26:00
【问题描述】:
我正在编写一个简单的脚本,试图从 .txt 输入文件的第二列中提取第一个元素。
import sys
if (len(sys.argv) > 1):
f = open(sys.argv[1], "r");
print "file opened";
line = [];
for line in f:
line = line.strip("\n ' '")
line = line.split(",")
print line[1]
f.close();
我的输入文件如下所示:
Client 192.168.1.13 said ``ACC: d0bb38f18da536aff7b455264eba2f1e35dd976f,389182.567,-0.042,-0.893,0.333''
Client 192.168.1.13 said ``ACC: d0bb38f18da536aff7b455264eba2f1e35dd976f,389182.590,-0.036,-0.905,0.273''
Client 192.168.1.13 said ``ACC: d0bb38f18da536aff7b455264eba2f1e35dd976f,389182.611,-0.046,-0.948,0.204''
Client 192.168.1.13 said ``ACC: d0bb38f18da536aff7b455264eba2f1e35dd976f,389182.631,-0.074,-0.978,0.170''
Client 192.168.1.13 said ``ACC: d0bb38f18da536aff7b455264eba2f1e35dd976f,389182.654,-0.100,-1.006,0.171''
我希望我的分隔符是逗号。当我打印出线的长度时,我得到了 5 个元素(如预期的那样)。但是,每当我尝试索引列表以提取数据时(即,当我调用 print line[1] 时),我都会不断收到以下错误:
file opened
Traceback (most recent call last):
File "stats.py", line 13, in <module>
print line[1]
IndexError: list index out of range
我不明白为什么它显然不在范围内。
【问题讨论】:
-
请提供完整的回溯,以及任何相关变量的值:sscce.org
-
我是 python 的新手。我如何为您提供完整的追溯?
-
print line看看你得到了什么
标签: python python-2.7