python如何优雅地在命令行传入参数?sys,argparse,click使用

文章目录

前言

一些大型的python项目经常性会提供命令行的接口使得同样一个文件能够根据参数的不同执行不同的操作。常见的如python main.py --name='zhangsan' --age=20,这让用户能够需求选择不同的服务启动并选择不同的参数配置,实现这一操作的方法有很多,比较常见的是三种:sys,argparse,click

sys

syspython自带的模块,可以通过sys.argv获取到输入的参数,如下所示:

import sys

def hello():
    print(sys.argv)

if __name__ == '__main__':
    hello()

#  python3 test.py hey 23
# >> ['test.py', 'hey', '23']

sys.argv返回一个列表,第一项是执行的文件名,后面依次是输入的未指定参数。

该模块十分简单易懂且方便使用,不过缺点也很明显,无法指定参数的名称,输入的参数必须按照指定顺序,且没有help打印帮助信息(指明每个参数的作用),需要开发者手动创建一个。

argparse

argparse是一个非常好用的命令行参数工具,相比于sys,它能够指定参数名称,参数默认值,参数的描述信息等,具体如下:

import argparse

def hello(args):
    print(args)
    print(args.name,args.age)

if __name__ == '__main__':
    my_arg 
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值