Python之命令行参数生成
有时候我们需要对脚本发送自定义的一些参数变量,但是我们又无法控制用户传参的顺序
因此我们需要将脚本命令行传参的数据全部序列化成一个json对象,通过对象获取需要的数据
params = {}
# 当命令行有传参的时候我们才执行,因为我这里需要外部赋值,所以要求长度大于3,如果不需要赋值直接传参只需要大于2即可
if len(sys.argv) >= 3:
for i in range(0, len(sys.argv) - 1):
j = i * 2 + 1
if j + 1 >= len(sys.argv):
break
params[sys.argv[j]] = sys.argv[j + 1]
print(params)
- 效果演示
(python39)>python main.py -d
{}
(python39)>python main.py -d 20210401 -l
{'-d': '20210401'}
(python39)>python main.py -d 20210401 -l 12
{'-d': '20210401', '-l': '12'}
评论区