python中的sys.argv[]操作

本文借鉴于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[ ]就是一个列表,里边的项为用户输入的参数。

发布了41 篇原创文章 · 获赞 44 · 访问量 7673

猜你喜欢

转载自blog.csdn.net/tailonh/article/details/104655873