argparse 命令含参数模块

摘要:
Argparse是python的一个命令行参数模块,可以解析命令行参数并生成帮助。您可以这样使用:Python代码#!

argparse是python的一个命令行参数模块,可以解析命令行参数,生成帮助等。

你可以这样使用它:

Python代码收藏代码
  1. #!/usr/bin/python
  2. fromargparseimportArgumentParser
  3. p=ArgumentParser(usage='itisusagetip',description='thisisatest')
  4. p.add_argument('--one',default=1,type=int,help='thefirstargument')
  5. p.add_argument('--two,default=2,type=int,help='thesecondargument')
  6. p.add_argument('--docs-dir,default="./",help='documentdirectory')
  7. args=p.parse_args()
  8. #可以打印出来查看
  9. printargs
  10. #打印某一个参数
  11. printargs.one
  12. printargs.docs_dir#经过parse_args()函数后参数名称去掉了前面的"--",所有的"-"转换为"_"

这个文件的名称叫做test.py , 你可以这样运行它:

./test.py

想要查看是否有哪些参数可以:

./test.py --help 或者 ./test.py -h

会打印出以下信息:

命令行代码收藏代码
  1. usage:itisusagetip
  2. thisisatest
  3. optionalarguments:
  4. -h,--helpshowthishelpmessageandexit
  5. --oneONEthefirstargument
  6. --twoTWOthesecondargument
  7. --docs-dirDOCS_DIRdocumentdirectory

然后就可以带参数运行程序:

./test.py --one 10 --two 20 --docs-dir /opt/docs/

但是在这种情况下:“如果运行程序时带了一个不认识的参数”,就会报错:

./test.py --p 235

命令行代码收藏代码
  1. usage:itisusagetip
  2. test.py:error:unrecognizedarguments:./test.py--p235

有时我们不希望这样,我们的需求是:只提取有用的参数,不认识的参数丢弃但并不需要报错".

这时程序可以这样写:

Python代码收藏代码
  1. #!/usr/bin/python
  2. importsys
  3. fromargparseimportArgumentParser
  4. p=ArgumentParser(usage='itisusagetip',description='thisisatest')
  5. p.add_argument('--one',default=1,type=int,help='thefirstargument')
  6. p.add_argument('--two,default=2,type=int,help='thesecondargument')
  7. p.add_argument('--docs-dir,default="./",help='documentdirectory')
  8. #这个函数将认识的和不认识的参数分开放进2个变量中
  9. args,remaining=p.parse_known_args(sys.argv)
  10. #可以打印出来查看
  11. printargs
  12. printremaining

再次运行程序:

./test.py --p 235

这个时候就会打印出:

命令行代码收藏代码
  1. Namespace(docs_dir='./',one=1,two=2)
  2. ['./test.py','--p','235']

免责声明:文章转载自《argparse 命令含参数模块》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Qt 在Qwidget里添加控件mockjs导致element-ui upload组件的on-progress和axios的responseType失效下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

第七部分(二) 动态渲染页面爬取(Splash的安装和使用、Scrapy的安装、Docker的安装、Scrapy-Splash的安装,在Windows及Linux平台的安装)

二、 Splash的使用Splash是一个JavaSscript渲染服务,一个带有HTTP API的轻量级浏览器,同时对接了Python中的Twisted和QT库。使用它同样可以实现动态渲页面的抓取。Splash可以实现下面的这些功能:异步方式处理多个网页渲染过程;获取渲染后的页面的源代码或截图;通过关闭图片渲染或者使用Adblock规则来加快页面渲染速度...

python appium自动化,走过的坑

使用的夜神模拟器,使用android5.1.1 或者真机 第一个坑:使用的android7.1.2,刚开始写好了登录的代码,需要的是滑屏进入到登录界面,结果运行的时候,没有自动滑屏就报错;因为运行时,报了一个进程被另一个程序在使用,怀疑是这个原因,又改了在进行滑屏前强行等待了几秒,还是不行;截其他界面的元素,也经常报一个UI的错,百度说这个是android...

python字符编码、字符串格式化、字符串方法、列表、元组、字典、集合等基础知识总结

目录: 一、字符编码 二、字符串格式化 三、进制转换 四、数据类型及其操作 1.int类、2.str类 五、格式转换 六、For循环 七、三元运算 八.列表 九、列表推导式 十、元组 十一、字典 十二、集合set 十三、文件操作 十四、变量指向和深浅拷贝 一.字符编码: 计算机由美国人发明,最早的字符编码为ASCII,只规定了英文字母数字和一些特殊字符与数...

Docker打包python flask服务

1、将宿主机上python环境保存到requirements.txt pip3 freeze >requirements.txt 2、新建sources.list文件(apt的源文件) sources.list具体内容如下: $ vi sources.list deb-src http://archive.ubuntu.com/ubuntu x...

Python开发利器WingIDE破解方法

“工欲善其事,必先利其器。”刚开始接触Python的人大都用自带的LDLE,尽管它对于初学该语言非常有帮助,但许多开发人员更喜欢其它文本编辑器或集成开发环境。(IDEs)在此我不想展开阐述,Python 社区维护了一份Python 相关编辑器的清单, 涵盖了各种各样支持平台和软件许可协议。但是所给出的编辑器个人认为都不是很理想,一直想找一个类似于php的Z...

手把手教你写网络爬虫(1):网易云音乐歌单

手把手教你写网络爬虫(1):网易云音乐歌单 把之前发表在微信公众号的爬虫系列文章迁移过来,热热身,就当备份了。 本来还有一些内容想写的,比如headless chrome、okhttp、netty和文本相似度算法等等,不过最近精力不在爬虫上面,以后等因缘成熟再把这个系列写完。 手把手教你写网络爬虫(1) 作者:拓海 摘要:从零开始写爬虫,初学者的速成指南...