【Python】Python命令行参数解析神器:argparse

公众号:尤而小屋
作者:Peter
编辑:Peter

argparse是用来解析命令行参数的Python库。当我们在代码中自定义了参数,使用该库能够自动解析出来。

51fcf8c1dcbda490ffb9a123743aa1b3.jpeg

未使用argparse

比如我们现在想通过一个函数来实现打印某个人的个人信息。如果不使用argparse,我们可以这样写:

def main():
    name = input("input your name: ")
    age = input("input your age: ")
    height = input("input your height: ")
    
    print(f"My name is {name}, {age} years old and I'm {height}.")
    
    return None


if __name__ == "__main__":
    main()

后面你在运行的时候需要每次输入不同的数据来运行这个功能:

681e4ff008b73120be7786202a576215.jpeg

使用argparse

138f199734430d5ec5fce877c77f5403.jpeg
import argparse

def main():
    # 创建参数
    parser = argparse.ArgumentParser(description="Argparses使用说明")   # 调用ArgumentParser类,并添加描述说明
    parser.add_argument('-n','--name',default="Peter")   # 添加不同的参数  -n表示参数的简写 --name表示全称 default后面跟的是默认值
    parser.add_argument('-y', '--year',default="18")
    parser.add_argument('-t','--height',default='175')  
    
   # 实例化一个parser对象
    args = parser.parse_args()
    
   # 从实例化对象中调用不同的参数
    name = args.name
    year = args.year
    height = args.height
    
    # 使用参数执行print
    print(f'My name is {name},{year} years old. I am {height}')
    
if __name__ == '__main__':
    main()

保存成test.py文件。

1、在终端中直接运行语句,不带任何参数:运行结果就是默认值

6ff90c623b0384e8e3f883df73554441.jpeg

2、带上参数执行:可以是全称也可以是简写

effedf918a9a56595d992b0ae335634a.jpeg

3、通过内置的-h还可以查看参数信息:

aff18b47db1e1d9b1378a57d7a20622a.jpeg

更多详细资料参考官网:https://docs.python.org/3/library/argparse.html

 
 

08aa84d81267a7bade89eb348914f245.jpeg

 
 
 
 
 
 
 
 
往期精彩回顾




适合初学者入门人工智能的路线及资料下载(图文+视频)机器学习入门系列下载机器学习及深度学习笔记等资料打印《统计学习方法》的代码复现专辑机器学习交流qq群955171419,加入微信群请扫码
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值