本文借鉴于Python中 sys.argv[]的用法简明解释。
今天在跑代码的过程中发现如下操作,对sys.argv[1],不太了解,特意去搜索了一下。
if __name__ == '__main__':
test_file = sys.argv[1]
print(test_file)
main(test_file)
sys.argv[]函数是一个从程序外部获取参数的桥梁,这个“外部”指的就是命令行,因为我们经常会通过命令行给程序传递一些参数(data_dir、model_dir…)。
因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv可以看作为一个列表,所以才能用[]提取其中的元素。其第一个元素是程序本身,随后才依次是外部给予的参数。
下面通过几个例子来说明它的用法。
import sys
a=sys.argv[0]
print(a)
在命令行中进入文件路径,运行后得到结果如下图所示,得到了本文件名。
但是在pycharm中运行后得到的是该文件所在的路径。
接下来,我们将argc[0]改为argc[1]:
import sys
a=sys.argv[1]
print(a)
运行结果为:
然后,执行以下代码。
import sys
a=sys.argv[2:]
print(a)
可见加入分号后,可以输出后边所有的值。
总的来说,Sys.argv[ ]就是一个列表,里边的项为用户输入的参数。