首页 > 编程语言 >Python里的optparse

Python里的optparse

时间:2024-04-14 23:58:38浏览次数:34  
标签:aa None parser Python py optparse test --

Python里的optparse是一个强大的命令行选项解析库

argument -- 参数

在命令行中输入的字符串,并会被 shell 传给 execl() 或 execv()

在 Python 中,参数将是 sys.argv[1:] 的元素

注:

  sys.argv[0] 是被执行的程序的名称

from optparse import OptionParser
#定义自己的用法消息
usage = "usage: %prog [options] arg1 arg2"
#开始定义选项,打印版本字符串
parser = OptionParser(usage="%prog [-f] [-q]", version="%prog 1.0")
parser.add_option("-f", "--file", dest="filename",
                  help="write report to FILE", metavar="FILE")
parser.add_option("-q", "--quiet",
                  action="store_false", dest="verbose", default=True,
                  help="don't print status messages to stdout")
parser.add_option("-n", type="int", dest="num")

(options, args) = parser.parse_args()
if len(args) != 1:
    parser.error("incorrect number of arguments")
print(options)
print(options.filename)
#由解析选项之后余下的位置参数组成的列表
print(args)

说明:

  options 一个包含你所有的选项的值的对象

  args 由解析选项之后余下的位置参数组成的列表

1.执行 python test.py

输出

Usage: test.py [-f] [-q]

test.py: error: incorrect number of arguments

2.执行python test.py -h

输出

Usage: test.py [-f] [-q]

Options:
--version show program's version number and exit
-h, --help show this help message and exit
-f FILE, --file=FILE write report to FILE
-q, --quiet don't print status messages to stdout
-n NUM

3.执行python test.py aa

输出

{'filename': None, 'verbose': True, 'num': None}
None
['aa']

4.执行python test.py -n 3e

输出

Usage: test.py [-f] [-q]

test.py: error: option -n: invalid integer value: '3e'

5.执行python test.py -n 3 aa

输出

{'filename': None, 'verbose': True, 'num': 3}
None
['aa']

6.执行python test.py -f aa.txt -q aa

输出

{'filename': 'aa.txt', 'verbose': False, 'num': None}
aa.txt
['aa']

 

标签:aa,None,parser,Python,py,optparse,test,--
From: https://www.cnblogs.com/baby123/p/18134897

相关文章

  • python项目位置迁移后,虚拟环境无法使用
    一、虚拟环境无法使用问题修改虚拟环境目录/pyvenv.cfg文件中的路径修改虚拟环境目录/scripts/activate.bat文件中**VIRTUAL_ENV参数**的值,改为当前虚拟环境的路径。另外,项目路径最好不要带中文,否则会导致虚拟环境无法使用(变成使用环境变量终端python)。来源:https://blog......
  • 苹果(MAC)操作系统(OSX)上设置Python3为Python命令启动的方式
    通过HomeBrew安装的Python启动命令为Python3,pip3HomeBrew安装Python的命令为:brewinstallpython然而,很多脚本里Python的启动命令为Python如何使OSX上的Python3命令通过Python启动呢?1.执行下列命令brewinfopython会得到如下输出信息:==>[email protected]:stable3......
  • python之if语法和for循环
    【语法】 图像   流程控制必备知识1.python中使用代码的缩进来表示代码的从属关系,如果两行代码缩进相同,就认为两代码属于平行关系,执行完上一行代码,就执行下一行代码。2.并不是所有的代码都可以拥有缩进的子代码。可以拥有缩进的子代码的代码有:if关键字3.如......
  • blender使用python创建长凳子模型
    importbpyimportmath#导入math模块#jianmodefjianMo(l,w,h,name='CafeBody',location_x=0,location_y=0,location_z=0):#定义咖啡馆的尺寸cafe_length=l#长度,单位:米cafe_width=w#宽度,单位:米cafe_height=h#高度,单位:米#......
  • blender使用python创建柜子模型
    importbpy#创建立方体并返回对象defcreate_cube(name,dimensions,location,parent=None):#执行添加立方体的操作bpy.ops.mesh.primitive_cube_add(size=dimensions[2],enter_editmode=False,location=location)#选择新创建的立方体cube_object......
  • python四则运算生成器
    合作伙伴:2252717在编程任务中,清晰地理解并规划设计思路是至关重要的。对于这个特定的四则运算题目生成器,目标是创建一个程序,能够随机生成包含两个运算符的数学题目,这些题目涉及100以内的数字,并确保所有生成的题目的答案都在0到100之间。以下是我在设计和实现这个程序时遵循的详细......
  • blender使用python创建床模型
    importbpyimportmath#导入math模块#jianmodefjianMo(l,w,h,name='CafeBody',location_x=0,location_y=0,location_z=0):#定义咖啡馆的尺寸cafe_length=l#长度,单位:米cafe_width=w#宽度,单位:米cafe_height=h#高度,单位:米#......
  • 结对编程--四则运算(Python)
    合作伙伴:2252720`importrandomdefgenerate_expression():operators=['+','-','×','÷']#可用的运算符operator=random.choice(operators)#随机选择一个运算符ifoperator=='+':num1=random.randint(0,100)#生成第一......
  • blender使用python创建桌子模型
    importbpyimportmath#导入math模块#jianmodefjianMo(l,w,h,name='CafeBody',location_x=0,location_y=0,location_z=0):#定义咖啡馆的尺寸cafe_length=l#长度,单位:米cafe_width=w#宽度,单位:米cafe_height=h#高度,单位:米#......
  • python+uwsgi警告
     1.出现这个警告是python没有安装uwsgi !!!!!!!!!!!!!!WARNING!!!!!!!!!!!!!! norequestpluginisloaded,youwillnotbeabletomanagerequests. youmayneedtoinstallthepackageforyourlanguageofchoice,orsimplyloaditwith--plugin. !!......