我正在从纸上运行此代码:
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:列表索引超出范围
我该如何解决这个问题?
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个元素的列表。