首页 / PYTHON / python argparse
python argparse
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python argparse,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2030字,纯文字阅读大概需要3分钟。
内容图文
在storm_control尝试中:
python hal4000.py xml/none_config.xml
我很少看见像这样在.py文件后加文件运行python程序的,当然一开始我并没有在意,直到遇到了bug…
usage: pydevconsole.py [-h] [--xml DEFAULT_XML] config
pydevconsole.py: error: the following arguments are required: config
无论我怎样谷歌,都定位不到我的错误。搜出来频率最多的是argparse ,于是不得不认真看了一下。才知道来龙去脉
argparse
argparse是python内置的一个用于命令选项与参数解析的模块,argparse将会从sys.argv中解析这些参数,并自动生成帮助和使用信息。
基本框架
# Use both so that we can pass sys.argv to QApplication.
import argparse
import sys
# Get command line arguments..
parser = argparse.ArgumentParser(description = 'STORM microscope control software')
parser.add_argument('config', type = str, help = "The name of the configuration file to use.")
parser.add_argument('--xml', dest = 'default_xml', type = str, required = False, default = None,
help = "The name of a settings xml file to use as the default.")
args = parser.parse_args()
# Load configuration.
config = params.config(args.config)
argparse对象 parser,其中description函数表示在命令行显示帮助信息的时候,程序的描述信息。如
python hal4000.py -h
add_argument增加函数,这里我们只增加了一个config 参数
parser_args函数返回的是一个命名空间,用来获取所有参数args,然后通过args.config就能够获得我们设置的config的值,其值为<storm_control.sc_library.parameters.StormXMLObject object at 0x00001FB7FBDC9B0>
:
xml参数对象的集合
sc_library.parameters :Handles parsing settings xml files and getting/setting
the resulting settings.
dest:设置参数在代码中的变量名
argparse默认的变量名是–或-后面的字符串,但是你也可以通过dest=xxx来设置参数的变量名,然后在代码中用args.xxx来获取参数的值。
就相当于其属性 :键值中的键
required: 表示这个参数是否一定需要设置
如果设置了required=True,则在实际运行的时候不设置该参数将报错:
default:没有设置值情况下的默认参数
如同上例中展示的,default表示命令行没有设置该参数的时候,程序中用什么值来代替
参考链接
- https://vra.github.io/2017/12/02/argparse-usage/
- http://blog.xiayf.cn/2013/03/30/argparse/
内容总结
以上是互联网集市为您收集整理的python argparse全部内容,希望文章能够帮你解决python argparse所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。