jjzjj

argparse

全部标签

Python:如果 __name__ == '__main__' 之后导入并初始化 Argparse?

如果我在我也想用作模块的脚本中使用argparse和if__name__=='__main__'测试,我是否应该在该测试下导入argparse然后初始化它?我发现的样式指南都没有提到在脚本中使用argparse,许多argparse脚本示例不使用“ifname”测试或以不同的方式使用它。到目前为止,这是我一直在做的事情:#!/usr/bin/envpythondefmain(name):print('Hello,%s!'%name)if__name__=='__main__':importargparseparser=argparse.ArgumentParser(descriptio

python - 支持 argparse 中的枚举参数

有没有比这种模式更好的方法来支持枚举作为argparse参数类型?classSomeEnum(Enum):ONE=1TWO=2parser.add_argument('some_val',type=str,default='one',choices=[i.name.lower()foriinSomeEnum])...args.some_val=SomeEnum[args.some_val.upper()] 最佳答案 我看到这是一个老问题,但我刚刚遇到了同样的问题(Python2.7),我是这样解决的:fromargparseimpo

python - 支持 argparse 中的枚举参数

有没有比这种模式更好的方法来支持枚举作为argparse参数类型?classSomeEnum(Enum):ONE=1TWO=2parser.add_argument('some_val',type=str,default='one',choices=[i.name.lower()foriinSomeEnum])...args.some_val=SomeEnum[args.some_val.upper()] 最佳答案 我看到这是一个老问题,但我刚刚遇到了同样的问题(Python2.7),我是这样解决的:fromargparseimpo

python - 带有所需子命令的 argparse

使用python的argparse,如何使子命令成为必需的参数?我想这样做是因为如果未指定子命令,我希望argparse出错。我重写了错误方法来打印帮助。我有3层嵌套的子命令,所以这不是简单地在顶层处理零参数的问题。在下面的例子中,如果这样调用,我会得到:$./simple.py$我希望它做的是让argparse提示未指定所需的子命令:importargparseclassMyArgumentParser(argparse.ArgumentParser):deferror(self,message):self.print_help(sys.stderr)self.exit(0,'%s:

python - 带有所需子命令的 argparse

使用python的argparse,如何使子命令成为必需的参数?我想这样做是因为如果未指定子命令,我希望argparse出错。我重写了错误方法来打印帮助。我有3层嵌套的子命令,所以这不是简单地在顶层处理零参数的问题。在下面的例子中,如果这样调用,我会得到:$./simple.py$我希望它做的是让argparse提示未指定所需的子命令:importargparseclassMyArgumentParser(argparse.ArgumentParser):deferror(self,message):self.print_help(sys.stderr)self.exit(0,'%s:

python - 默认子命令,或不使用 argparse 处理子命令

我怎样才能有一个默认sub-command,或使用argparse处理未给出子命令的情况?importargparsea=argparse.ArgumentParser()b=a.add_subparsers()b.add_parser('hi')a.parse_args()在这里,我希望选择一个命令,或者仅基于下一个最高级别的解析器(在本例中为顶级解析器)处理的参数。joiner@X:~/src>python3default_subcommand.pyusage:default_subcommand.py[-h]{hi}...default_subcommand.py:error:t

python - 默认子命令,或不使用 argparse 处理子命令

我怎样才能有一个默认sub-command,或使用argparse处理未给出子命令的情况?importargparsea=argparse.ArgumentParser()b=a.add_subparsers()b.add_parser('hi')a.parse_args()在这里,我希望选择一个命令,或者仅基于下一个最高级别的解析器(在本例中为顶级解析器)处理的参数。joiner@X:~/src>python3default_subcommand.pyusage:default_subcommand.py[-h]{hi}...default_subcommand.py:error:t

python - python argparse中的自定义选项卡完成

如何在Python脚本中获得与argparse配合的shell选项卡补全?#!/usr/bin/envpythonimportargparsedefmain(**args):passif__name__=='__main__':parser=argparse.ArgumentParser()parser.add_argument('positional',choices=['spam','eggs'])parser.add_argument('--optional',choices=['foo1','foo2','bar'])args=parser.parse_args()main(*

python - python argparse中的自定义选项卡完成

如何在Python脚本中获得与argparse配合的shell选项卡补全?#!/usr/bin/envpythonimportargparsedefmain(**args):passif__name__=='__main__':parser=argparse.ArgumentParser()parser.add_argument('positional',choices=['spam','eggs'])parser.add_argument('--optional',choices=['foo1','foo2','bar'])args=parser.parse_args()main(*

Python 的 argparse 以 prog 和版本字符串格式显示程序的版本

在argparse中指定程序名称和版本信息的首选方式是什么?__version_info__=('2013','03','14')__version__='-'.join(__version_info__)...parser.add_argument('-V','--version',action='version',version="%(prog)s("+__version__+")")http://argparse.googlecode.com/svn/trunk/doc/ArgumentParser.html#proghttp://pymotw.com/2/argparse/ht