如何在Python中使用sys.argv

问题描述 投票:0回答:1

我正在从纸上运行此代码:

import sys
fi = open(sys.argv[1])
output_feature = open(sys.argv[2],"w")
output_group = open(sys.argv[3],"w")

[当我在Colab中运行此代码时,我遇到此错误:

IOError:[Errno 2]没有这样的文件或目录:'-f'

并且如果我在mac Os中运行代码,则会遇到此错误:

IndexError:列表索引超出范围

我该如何解决这个问题?

macos google-colaboratory argv sys
1个回答
0
投票

sys.argv代表您在运行python脚本时提供的命令行参数列表。假设我们将示例中的代码放在脚本“ script.py”中,则可以从命令行运行它,如下所示:

python script.py argument_1 argument_2 argument_3

之所以需要3个附加参数,是因为您尝试在代码的sys.argv中访问3个附加元素(索引1,2,3)。第一个索引(0)是脚本本身,因此在这种情况下为script.py。还要注意,上面的参数名称是任意选择的。如果您可以通过以下任何一种方式运行代码:

python script.py 
python script.py argument_1
python script.py argument_1 argument_2

您将收到以下错误:

IndexError:列表索引超出范围

因为sys.argv将是一个包含少于4个元素的列表。

© www.soinside.com 2019 - 2024. All rights reserved.