草庐IT

ArgParse

全部标签

python - 如何使用 Python Argparse 制作所需参数的短版本和长版本?

我想指定一个名为inputdir的必需参数,但我也想有一个名为i的简写版本。我没有看到一个简洁的解决方案来做到这一点,而无需同时制作两个可选参数,然后进行自己的检查。是否有我没有看到的首选做法,或者唯一的方法是使两者都是可选的并自己进行错误处理?这是我的代码:importargparseparser=argparse.ArgumentParser()parser.add_argument("inputdir",help="Specifytheinputdirectory")parser.parse_args() 最佳答案 对于fla

python - argparse 参数嵌套

我在python中有以下代码:parser=argparse.ArgumentParser(description='Deploymenttool')group=parser.add_mutually_exclusive_group()group.add_argument('-a','--add',dest='name_to_add',help='Addanewgrouporaroletoexistinggroup')group.add_argument('-u','--upgrade',dest='name_to_upgrade',help='Upgradeagroupwiththe

Python argparse 无法将十六进制格式解析为 int 类型

我有以下代码尝试从调用的命令行获取DUTVID:parser=argparse.ArgumentParser(description='ATest',formatter_class=argparse.ArgumentDefaultsHelpFormatter)group.add_argument("--vid",type=int,help="vidofDUT")options=parser.parse_args()考虑命令行“pythontest.py--vid0xabcd”我注意到argparse引发了一个异常,因为它无法完成调用int('0xabcd')因为它是基数16。如何让ar

python argparse : How can I display help automatically on error?

目前,当我输入无效选项或省略位置参数时,argparse会将我踢回提示并显示我的应用程序的使用情况。这没关系,但我宁愿自动显示完整的帮助列表(解释选项等)而不是要求用户输入./myscript.py-h谢谢!杰米 最佳答案 要打印您可能想要使用的帮助:ArgumentParser实例上的print_help函数parser=argparse.ArgumentParser()(...)parser.print_help()要打印错误帮助消息,您需要创建自己的ArgumentParser实例子类,它会覆盖error()方法。比如这样:c

python - argparse (python) 是否支持互斥的参数组?

如果我有参数'-a','-b','-c','-d',与add_mutually_exclusive_group()函数我的程序将只需要使用其中一个。有没有办法将它结合起来,以便程序只接受'-a999-b999'或'-c999-d999'?编辑:添加一个简单的程序更清晰:>>>parser=argparse.ArgumentParser()>>>group=parser.add_mutually_exclusive_group()>>>group.add_argument('-a')>>>group.add_argument('-b')>>>group.add_argument('-c'

python - argparse 模块在 Python 中不起作用

我正在尝试让argparse模块在Python中工作。我的问题是,在全新安装时,我得到以下信息:File"test.py",line3,inimportargparseFile"/home/jon/Pythons/realmine/argparse.py",line3,inparser=argparse.ArgumentParser(description='Shortsampleapp')AttributeError:'module'objecthasnoattribute'ArgumentParser'test.py是:importargparse显然,我错过了一些东西。有人可以帮

python - Python 和 argparse 的多个位置参数

我正在尝试使用argparse来解析我正在处理的程序的命令行参数。本质上,我需要支持在可选参数中传播的多个位置参数,但不能让argparse在这种情况下工作。在实际程序中,我使用的是自定义操作(每次找到位置参数时,我都需要存储命名空间的快照),但我遇到的问题可以通过append复制>行动:>>>importargparse>>>parser=argparse.ArgumentParser()>>>parser.add_argument('-a',action='store_true')>>>parser.add_argument('-b',action='store_true')>>>

Python argparse required=True 但 --version 功能?

在我的所有脚本中,我使用标准标志--help和--version,但是我似乎无法弄清楚如何制作--带有parser.add_argument(...,required=True)的版本。importsys,os,argparseparser=argparse.ArgumentParser(description='Howtoget--versiontowork?')parser.add_argument('--version',action='store_true',help='printversioninformation')parser.add_argument('-H','--h

python - 处理 argparse 输入中的空格

使用python和argparse,用户可以输入带有-d标志的文件名。parser.add_argument("-d","--dmp",default=None)但是,当路径包含空格时,这会失败。例如。-dC:\SMTHNG\Namewithspaces\MORE\file.csv注意:空格会导致错误(标志只接受'C:SMTHNG\Name'作为输入)。error:unrecognizedarguments:withspaces\MORE\file.csv我花了比它应该找到解决这个问题的时间更长的时间......(没有找到问答,所以我自己发帖) 最佳答案

python - 如何在python argparse中使参数可选

我想让myprog的这些调用工作,而不是其他的。$python3myprog.py-iinfile-ooutfile$python3myprog.py-ooutfile$python3myprog.py-o$python3myprog.py特别是我想让指定infile而不是outfile成为非法。在第三种情况下,假定输出文件的默认名称为“out.json”。在第二种、第三种和第四种情况下,假定输入文件的默认名称为“file.n.json”,其中n是整数版本号。在第四种情况下,输出文件将是“file.n+1.json”,其中n+1是比输入文件上的版本大一号的版本号。我的代码的相关部分是: