Python标准模块中sys.argv有个特殊的作用,可以从命令行启动程序时获取外部参数,可以从下面一个简单的例子来理解它的使用场景和特性:
import sys
# 将传入参数转换为整型求和
def sum_args(args):
int_args = [int(i) for i in args[1:]]
print("传入参数求和得:",sum(int_args))
if __name__ == '__main__':
args = sys.argv
print("传入的argv参数是:", args)
sum_args(args)
如下,打开cmd命令行,使用python启动程序并在结尾用空格分隔传入几个数字:
命令行启动并传参
结果:
- 从直接打印出的sys.argv来看,它返回的是一个列表,元素均为字符串格式,其死一个元素为启动程序的路径.
- 其余元素为输入启动程序命令后,以空格分隔输入的其他数据.
- 我们可以读取这些数据做一些其他的操作,比如示例中定义的求和函数,将传入的数字参数转换为整型,求和并输出.
所以sys.argv的作用是很简单的,你可以利用它接收命令行的参数,将参数用于传递给某个变量、函数、类。