argparse 命令含参数模块
argparse是python的一个命令行参数模块,可以解析命令行参数,生成帮助等。
你可以这样使用它:
- #!/usr/bin/python
- from argparse import ArgumentParser
- p = 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=2, type=int, help='the second argument')
- p.add_argument('--docs-dir, default="./", help='document directory')
- args = p.parse_args()
- #可以打印出来查看
- print args
- #打印某一个参数
- print args.one
- print args.docs_dir #经过parse_args()函数后参数名称去掉了前面的"--",所有的"-"转换为"_"
这个文件的名称叫做test.py , 你可以这样运行它:
./test.py
想要查看是否有哪些参数可以:
./test.py --help 或者 ./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
- --two TWO the second argument
- --docs-dir DOCS_DIR document directory
然后就可以带参数运行程序:
./test.py --one 10 --two 20 --docs-dir /opt/docs/
但是在这种情况下:“如果运行程序时带了一个不认识的参数”,就会报错:
./test.py --p 235
- usage: it is usage tip
- test.py: error: unrecognized arguments: ./test.py --p 235
有时我们不希望这样,我们的需求是:只提取有用的参数,不认识的参数丢弃但并不需要报错".
这时程序可以这样写:
- #!/usr/bin/python
- import sys
- from argparse import ArgumentParser
- p = 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=2, type=int, help='the second argument')
- p.add_argument('--docs-dir, default="./", help='document directory')
- # 这个函数将认识的和不认识的参数分开放进2个变量中
- args, remaining = p.parse_known_args(sys.argv)
- #可以打印出来查看
- print args
- print remaining
再次运行程序:
./test.py --p 235
这个时候就会打印出:
- Namespace(docs_dir='./', one=1, two=2)
- ['./test.py', '--p', '235']
argparse 命令含参数模块的更多相关文章
- Argparse 命令行解析模块常用参数
Argparse模块可以轻松编写用户友好的命令行界面.该程序定义了它需要的参数,argparse 并将找出如何解析这些参数sys.argv.该argparse 模块还会自动生成帮助和用法消息,并在用户 ...
- python argparse命令行参数
测试: 第一个没有任何输出和出错 第二个测试为打印帮助信息,argparse会自动生成帮助文档 第三个测试为未定义的-v参数,会出错 第四个测试为未定义的参数foo,出错 positional arg ...
- tensorflow命令行参数:tf.app.flags.DEFINE_string、tf.app.flags.DEFINE_integer、tf.app.flags.DEFINE_boolean
tf 中定义了 tf.app.flags.FLAGS ,用于接受从终端传入的命令行参数,相当于对Python中的命令行参数模块optpars(参考:python中处理命令行参数的模块optpars)做 ...
- Python 中命令行参数解析工具 docopt 安装和应用
什么是 docopt? 1.docopt 是一种 Python 编写的命令行执行脚本的交互语言. 它是一种语言! 它是一种语言! 它是一种语言! 2.使用这种语言可以在自己的脚本中,添加一些规则限制. ...
- python命令行参数解析模块argparse和docopt
http://blog.csdn.net/pipisorry/article/details/53046471 还有其他两个模块实现这一功能,getopt(等同于C语言中的getopt())和弃用的o ...
- Python命令行参数解析模块argparse
当写一个Python脚本时经常会遇到不同参数不同功能的情况,如何做一个更好看的命令帮助信息以及对命令参数解析呢? 这就需要使用argparse模块 #!/usr/bin/env python # -* ...
- $命令行参数解析模块argparse的用法
argparse是python内置的命令行参数解析模块,可以用来为程序配置功能丰富的命令行参数,方便使用,本文总结一下其基本用法. 测试脚本 把以下脚本存在argtest.py文件中: # codin ...
- python 命令行参数——argparse模块的使用
以下内容主要来自:http://wiki.jikexueyuan.com/project/explore-python/Standard-Modules/argparse.html argparse ...
- argparse解析参数模块
一.简介: argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于解析命令行参数,例如python parseTes ...
随机推荐
- zencart url特殊字符处理
1. 支持 在后台的seo url 将Outputw3c 改为false 2.删除特殊字符 这对于在少量的zen cart网站上处理少量的特殊字符可能还适用,实际上我们经常在导入产品数据时或者或少会带 ...
- 动态规划1-----------poj1080
#include<cstdio> #include<cstdlib> #include<iostream> #include<algorithm> us ...
- PHP学习笔记之数组篇
摘要:其实PHP中的数组和JavaScript中的数组很相似,就是一系列键值对的集合.... 转载请注明来源:PHP学习笔记之数组篇 一.如何定义数组:在PHP中创建数组主要有两种方式,下面就让我 ...
- iis7支持asp(访问页面,页面存在仍然提示404)
1. win7下安装IIS时ASP一般被默认不选中的状态,因此需要打开IIS检查功能视图栏中是否存在ASP选项,若没有则需要从控制面板->程序和 功能->打开或关闭Windows功能-&g ...
- fiddler2 中文乱码问题
打开注册表编辑器,找到HKCU\Software\Microsoft\Fiddler2\,在里面添加一个字符串值,名叫HeaderEncoding,值设置为默认编码.建议设成GB18030.然后要记得 ...
- CSS之基础
css是英文Cascading Style Sheets的缩写,称为层叠样式表,用于对页面进行美化.存在方式有三种:元素内联.页面嵌入和外部引入,比较三种方式对优缺点. 语法:style = &quo ...
- Mysql 技巧
order by条件: SELECT * FROM tablename WHERE id_one=27 OR id_two=27 ORDER BY CASE WHEN id_one=27 THEN t ...
- google-c-style
http://zhanxw.com/blog/2011/03/learning-and-applying-coding-style-from-google-in-emacs/ http://stack ...
- Bluez SPP实现代码分析(转)
源:http://blog.csdn.net/walkingman321/article/details/7218705 本文分析蓝牙协议栈中蓝牙转串口(SPP)部分的实现. 1. 基本概念 Blu ...
- web前端性能优化指南
web前端性能优化指南 web前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loadin ...