我有一个有很多可用选项的程序。例如,用于更改设置的配置选项。./appconfig-h使用普通的argparse子命令给我帮助现在我想在名为list的config子命令中添加另一个子命令以列出配置值./appconfiglist此外,该命令应该接受另一个选项,以便我可以说./appconfiglistCATEGORY只列出一个类别的配置我现在的代码基本上就是这样,只是有更多的命令>>>parser=argparse.ArgumentParser()>>>subparsers=parser.add_subparsers(title='subcommands',...description
我正在使用argparse并为我的程序设置了子命令。我已经创建了子解析器来定义这些子命令。我有一些不应在帮助屏幕中向用户显示的管理命令。我知道我们可以隐藏子命令的参数,但我不知道我们如何才能隐藏一些子命令,使其不出现在帮助列表中。这是我的代码片段,parser=argparse.ArgumentParser(prog='myProg',description=desc,formatter_class=argparse.RawDescriptionHelpFormatter)subparsers=parser.add_subparsers(dest='sub_parser_name')m
我正在尝试使用argparse创建Django管理命令,但是每当我运行它时,它总是返回nosuchoption这是有效的,因为此消息来自manage.py:classCommand(BaseCommand):defhandle(self,*args,**options):parser=argparse.ArgumentParser('Parsingarguments')parser.add_argument('--max',type=float,store)args=parser.parse_args(sys.argv[2:])将一些参数解析器与管理命令一起使用的正确方法是什么?Pyt
我正在使用argparse模块来设置我的命令行选项。我还在我的应用程序中使用dict作为配置。简单的键/值存储。我正在寻找的是使用命令行参数覆盖JSON选项的可能性,而无需提前定义所有可能的参数。像--conf-key-1value1--conf-key-2value2这样的东西,它会创建一个字典{'key_1':'value1','key_2':'value2'}(参数中的“-”在字典中被替换为“_”)。然后我可以将这个字典与我的JSON配置(dict)结合起来。所以基本上我想将--conf-*定义为参数,其中*可以是任何键,后面是value.我确实找到了configargparse
我正在尝试为我的程序设置一些简单的标志参数,但不知道如何访问它们。我有argparser:parser=argparse.ArgumentParser(description='SimplePostScriptInterpreter')parser.add_argument('-s',action="store_true")parser.add_argument('-d',action="store_true")parser.parse_args(sys.argv[1:])该程序应在命令行上使用sps.py-s、sps.py-d或sps.py。然后我只想检查是否设置了-s标志或设置了-
当使用带有关键字choices的参数(可选的和位置的都有这个问题)时,生成的帮助输出会显示这些选择。如果同一参数还包含metavar关键字,则生成的输出中会省略选择列表。我的想法是在usage行中显示metavar,但实际上在“autohelp”列出位置/可选参数详细信息时显示可用选项.有任何简单的修复/解决方法吗?我已经启动了一个用于自定义帮助功能的argparse包装器。也许这应该是我的TODO列表中的另一个功能。 最佳答案 您可以将选项添加到帮助文本。parser=argparse.ArgumentParser()parser
我想从控制台将名称列表传递到我用Python编写的程序中。例如,我想使用与此类似的方式(我知道它不应该因为bash而起作用):$pythonmyprog.py-nname1name2所以,我尝试了这段代码:#myprog.pyfromargparseimportArgumentParserparser=ArgumentParser()parser.add_argument('-n','--names-list',default=[])args=parser.parse_args()print(args.names_list)#Ineed['name1','name2']here这导致了
我有一个论点,它是一个内部调试标志,不应该由不知道自己在做什么的用户运行。我意识到隐藏它本质上是通过默默无闻来保证安全,但我更关心的不是恶意,而是无能。Optparse有一个SUPPRESS_HELP选项,是否和argparse等价? 最佳答案 parser.add_argument('--secret',help=argparse.SUPPRESS)来自这里:http://argparse.googlecode.com/svn/trunk/doc/argparse-vs-optparse.html顺便说一下,argparsesup
这个问题在这里已经有了答案:Simpleargparseexamplewanted:1argument,3results(17个答案)关闭6年前。我想通过名称(类似于kwargs)将参数发送到脚本。我试过这样的事情,但它没有做我想做的事情:(假设它是用script.py编写的)importargparseparser=argparse.ArgumentParser()parser.add_argument("name")args=parser.parse_args()然后在命令行中写:script.pyname=david另一件事,假设我在argparse中几乎没有命名参数,如果我不按
哪里报告这个错误:TypeError:'Namespace'objectisnotiterableimportargparsedefparse_args():parser=argparse.ArgumentParser(add_help=True)parser.add_argument('-a','--aa',action="store_true",default=False)parser.add_argument('-b',action="store",dest="b")parser.add_argument('-c',action="store",dest="c",type=int