今日看到argv 度娘查找一番,基本都是转载的同一篇文章,总体字数不少但看了之后感觉还是稀里糊涂,自己尝试了一番简单总结如下
当我们需要在命令行执行脚本并需要在执行脚本的同时传入参数给脚本使用,那我们就可以使用到argv
,argv
是sys模块下的方法用于接收命令行传参,如下进行简单示例创建demo.py
脚本计算两个数相加,且我们需要在命令行进行传参:
from sys import argv # 导入模块
# 如果执行的方式错误输出使用方法
USAGE = '''
用法错误,正确方式如下:
python demo.py one two
'''
if len(argv) != 3: # 判断argv的长度,如果脚本被直接执行(argv的值为当前脚本的路径),如果执行命令是python demo.py 加两个参数(argv的长度就为3(以此类推))
print(USAGE) # 如果传入的参数不足,输出正确用法
exit(1) # 异常退出(下面的代码将不会被执行)
script_name, one, two = argv # 将传入的参数赋值进行使用
print(f'你执行的脚本是:{script_name},') # 输出脚本名称
print(f'相加的结果是:{float(one) + float(two)}') # 输出结果
当我们直接在命令行执行,不传进行参或传参数量不正确时:
D:\xuexi\python>python demo.py
用法错误,正确方式如下:
python demo.py one two
正确传参执行结果:
D:\xuexi\python>python demo.py 6 6
你执行的脚本是:demo.py,
相加的结果是:12.0
可以看到argv用法就是获取在命令行执行脚本时python命令后跟的所有参数