在sys.argv[](python)上迭代
我试图使用这个迭代代码从命令行参数中读取几个文件,但我得到一个类型错误:列表索引必须是整数或片,而不是str 有人能帮我修一下吗 代码: 类型错误:列表索引必须是整数或片,而不是str:这意味着您正在使用str作为列表索引。您在哪里访问列表索引?它位于sys.argv[x]。所以它抱怨x是str而不是int 这是因为当您在sys.argv[1::]中表示x时,x是列表的实际内容,在本例中是实际的文件名。所以你要么需要说:在sys.argv[](python)上迭代,python,Python,我试图使用这个迭代代码从命令行参数中读取几个文件,但我得到一个类型错误:列表索引必须是整数或片,而不是str 有人能帮我修一下吗 代码: 类型错误:列表索引必须是整数或片,而不是str:这意味着您正在使用str作为列表索引。您在哪里访问列表索引?它位于sys.argv[x]。所以它抱怨x是str而不是int 这是因为当您在sys.argv[1::]中表示x时,x是列表的实际内容,在本例中是实际的文件名。所以你要么需要说: for x in sys.argv[1::] fileobj =
for x in sys.argv[1::]
fileobj = open(x, 'r')
或
大多数人认为第一种方法更具可读性
for x in sys.argv[1::]
fileobj = open(x, 'r')
for x in range(1, len(sys.argv))
fileobj = open(sys.argv[x], 'r')