博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python之命令行解析工具argparse
阅读量:5994 次
发布时间:2019-06-20

本文共 1157 字,大约阅读时间需要 3 分钟。

以前写python的时候都会自己在文件开头写一个usgae函数,用来加上各种注释,给用这个脚本的人提供帮助文档。

今天才知道原来python已经有一个自带的命令行解析工具argparse,用了一下,效果还不错。

argparse的官方文档请看

from argparse import ArgumentParserp = ArgumentParser(usage='it is usage tip', description='this is a test')p.add_argument('--one', default=1, type=int,  help='the first argument')args = p.parse_args()print args

运行这个脚本test.py.

python test.py -h

输出:

usage: it is usage tip

this is a test
optional arguments:
  -h, --help  show this help message and exit
  --one ONE   the first argument

python test.py --one  8

 输出:

 Namespace(one=8)

可以看到argparse自动给程序加上了-h的选项,最后p.parse_args()得到的是你运行脚本时输入的参数。

如果我们需要用这些参数要怎么办呢,可以通过vars()转换把Namespace转换成dict。

from argparse import ArgumentParserp = ArgumentParser(usage='it is usage tip', description='this is a test')p.add_argument('--one', default=1, type=int,  help='the first argument')p.add_argument('--two', default='hello', type=str, help='the second argument')args = p.parse_args()print argsmydict = vars(args)print mydictprint mydict['two']

运行test.py.

python test.py --one 8  --two good

输出:

Namespace(one=8, two='good')

{'two': 'good', 'one': 8}
good

转载于:https://www.cnblogs.com/streakingBird/p/3928756.html

你可能感兴趣的文章
Unity3D之飞机游戏追踪导弹制作
查看>>
绝对精品推荐做前端的看下:Web前端开发体会十日谈
查看>>
【转】Java虚拟机的JVM垃圾回收机制
查看>>
北京Uber优步司机奖励政策(12月16日)
查看>>
基于场景的测试
查看>>
学点PYTHON基础的东东--数据结构,算法,设计模式---访问者模式
查看>>
[MySQL FAQ]系列 -- Too many open files
查看>>
TCP/IP模型各个层次的功能和协议
查看>>
C 游戏所要看的书
查看>>
Ehcache详细解读(转)
查看>>
UIImagePickerController本地化控件文字
查看>>
CSS3 页面跳转的动画效果
查看>>
Android中的跨进程通信方法实例及特点分析(二):ContentProvider
查看>>
POJ 2676/2918 数独(dfs)
查看>>
Linux kernel Panic 相关知识
查看>>
iOS 从相机或相册获取图片并裁剪
查看>>
ansilbe 入门001、ansible的介绍
查看>>
C++14介绍
查看>>
iOS-- 快速集成iOS基于RTMP的视频推流
查看>>
BZOJ1497: [NOI2006]最大获利[最小割 最大闭合子图]
查看>>