argparse相关内容

Python ArgumentParser 嵌套参数

我想创建具有以下签名的参数解析器: ./myapp [-a [-b BVAL] |-c] 换句话说,只有在他提供参数 -a 的情况下,用户才能提供参数 -b BVAL. 创建-a和-c的互斥组很容易,但我不知道如何创建关系allow -b onlyif -a 提供 解决方案 Docopt 和我一样通缉.太棒了! docopt('./myapp [-a [-b BVAL] ..
发布时间:2021-11-17 04:38:47 Python

如何检查特定的子解析器?

如何检查特定的子解析器? 导入 argparse如果 __name__ == "__main__":mainparser = argparse.ArgumentParser()submainadder = mainparser.add_subparsers(title='subcommands')parser_ut = submainadder.add_parser('unittest')东西 ..
发布时间:2021-11-17 04:38:41 Python

用于部分选择的多个参数的python argparser

我像这样创建了一个 argparser: parser = argparse.ArgumentParser(description='someDesc')parser.add_argument(-a,required=true,choices=[x,y,z])parser.add_argument( ... ) 但是,仅针对选项“x"而不是选项“y,z",我想要一个额外的 REQUIRED ..
发布时间:2021-11-17 04:38:38 Python

如何在不修补的情况下本地化 Python 的 argparse 模块?

本地化的命令行应用程序看起来很奇怪,其中一些消息是用户语言,而其他部分是英语. 我不知道从源代码安装 Python 3 时是否搞砸了什么,似乎没有 *.mo 文件,所以 argparse(在整个)不知道本地化. API 似乎也没有提供本地化的方法.还是我错过了? 我可以修补 argparse.py,但我不会,因为我希望它是可移植的,而且我不同意建议用户修补他们的 Python 安 ..
发布时间:2021-11-17 04:38:35 Python

将 argparse 用于没有前缀的强制参数

我正在尝试在我的 Python 应用程序中使用 argparse 模块.我的应用程序应该使用没有任何前缀的单个强制参数运行.我想不出办法来做到这一点. 解决方案 这是一个使用 argparse 来要求一个整数参数的简单示例: 导入 argparseparser = argparse.ArgumentParser(description='处理一个整数')parser.add_argume ..
发布时间:2021-11-17 04:38:32 Python

call_command 参数是必需的

我正在尝试以与 这个没有答案的问题. 我的称呼是: args = []夸格 = {'solr_url': 'http://127.0.0.1:8983/solr/collection1','类型':'意见','更新':是的,'一切':真的,'do_commit':是的,'回溯':是的,}call_command('cl_update_index', **kwargs) 理论上,根据 文 ..
发布时间:2021-11-17 04:38:30 Python

Python.解析器.删除不需要的参数

我正在解析一些命令行参数,其中大部分需要传递给方法,但不是全部. parser = argparse.ArgumentParser()parser.add_argument("-d", "--dir", help = "目录名", type = str, default = "backups")parser.add_argument("-n", "--dbname", help = "数据库名称 ..
发布时间:2021-11-17 04:38:26 Python

Ruby optparse 限制

我目前使用 Python 编写脚本,但出于多种原因我希望尝试 Ruby.上周,我查看了大量示例代码并阅读了大量文档.我担心的一个问题是 Ruby 中缺少正确的命令行参数解析库.Ruby 专家,不要生我的气——也许我不知道.这就是我在这里的原因. 在 Python 中,我习惯于使用 argparse,这在我看来是完美的(也许满足我的需要).不幸的是,OptionParser 不允许 argpa ..
发布时间:2021-11-17 04:38:24 Python

在 Python 中使用 argparse 处理无效参数

我正在使用 argparse 来解析命令行参数,默认情况下,在接收到无效参数时,它会打印帮助消息并退出.当 argparse 收到无效参数时,是否可以自定义它的行为? 通常我想捕捉所有无效的参数并用它们做一些事情.我正在寻找类似的东西: parser = argparse.ArgumentParser()# 在这里添加一些参数尝试:parser.parse_args()除了 Invalid ..
发布时间:2021-11-17 04:38:21 Python

Python Argparse - 将参数的默认值设置为另一个参数

我已经添加了一个参数 -c,现在我想添加另一个名为 -ca 的参数.如何将 -ca 的默认值设置为 -c?我想要做的是,如果未指定 -ca,则将 -c 分配给 -ca. parser.add_argument("-c", type=str)parser.add_argument("-ca", type=str, default=XXX) 谢谢. 解决方案 通常,单破折号标志是单个字符. ..
发布时间:2021-11-17 04:38:18 Python

在由多个自定义模块支持的多个脚本中使用 python 的 argparse

我正在构建一组脚本和模块来管理我们的基础设施.为了使事情井井有条,我想尽可能多地整合工作,并尽量减少新脚本的样板. 特别是这里的问题是整合 ArgumentParser 模块. 一个示例结构是让脚本和库像这样组织: |-- bin|-- 脚本1|-- 脚本2|-- 库|-- 记录器|-- lib1|-- lib2 在这种情况下,script1 可能只使用 logger 和 lib1 ..
发布时间:2021-11-17 04:38:15 Python

使用 argparse 隐藏选定的子命令

我正在使用 argparse 并为我的程序设置了子命令.我创建了子解析器来定义这些子命令.我有一些不应在帮助屏幕中向用户显示的管理命令.我知道我们可以隐藏子命令的参数,但我不知道如何隐藏一些子命令而不显示在帮助列表中. 这是我的代码片段, parser = argparse.ArgumentParser(prog='myProg',描述=描述,formatter_class=argpars ..
发布时间:2021-11-17 04:38:12 Python

如何将命令行参数从 pytest 传递给代码

我正在尝试将参数从 pytest 测试用例传递到正在测试的模块.例如,使用 Python 样板 中的 main.py,我可以从命令行为: $ python3 main.py用法:main.py [-h] [-f] [-n NAME] [-v] [--version] argmain.py:错误:需要以下参数:arg$ python3 main.py xx你好,世界命名空间(arg='xx',fl ..
发布时间:2021-11-17 04:38:09 其他开发

Python argparse parse_args 进入全局命名空间(或者这是一个坏主意的原因)

我主要使用 argparse 在 python 中制作命令行脚本,我通常使用的习惯用法是将参数分配为对象的属性,然后将它们单独解析为与其属性名称匹配的变量.这似乎有点重复.有没有办法将它们全部分配到全局命名空间中并省去分配步骤;或者当某些 Python 行为对我来说似乎违反直觉时经常出现的情况,一些聪明的 Python 专家能否指出我不应该这样做或想要这样做的充分理由? 我现在拥有的是: ..
发布时间:2021-11-17 04:38:03 Python

参数的 argparse 可选值

我想区分这三种情况: 该标志根本不存在python example.py; 标志存在但没有值 python example.py -t;和 该标志存在并具有值 python example.py -t ~/some/path. 我怎样才能用 Python argparse 做到这一点?action='store_true' 涵盖前两种情况,但随后第三种情况无效. 解决方案 ..
发布时间:2021-11-17 04:37:57 Python

Python argparse:将可选参数与 nargs=argparse.REMAINDER 结合

我一定遗漏了一些明显的东西.目标是将 argparse 与需要的第一个参数、第二个可选参数和任何其他可选参数一起使用. 为了说明问题,我做了两个测试解析器;它们之间的唯一区别是在一个中使用 nargs=argparse.REMAINDER,在另一个中使用 nargs='*'. def doParser1(argsin):parser = argparse.ArgumentParser(de ..
发布时间:2021-11-17 04:37:51 Python