argparse相关内容

使用 argparse 允许未知参数

我有一个 python 脚本,需要用户输入两个参数来运行它,参数可以命名为任何名称. 我还使用了 argparse 来允许用户使用开关“-h"来获取运行脚本所需内容的说明. 问题是,现在我使用了 argparse,当我通过脚本传递两个随机命名的参数时出现错误. 导入 argparse解析器 = argparse.ArgumentParser(add_help=False)parser ..
发布时间:2021-11-17 04:50:56 Python

python argparse:使用两组必需的参数

我有一个可以在两种模式下接受参数的 python 程序: 要么 (a) 要么 (b AND c AND d). 我已经查看了 add_mutually_exclusive_group 但它不允许有一个包含所需参数列表的子组 有什么想法吗? 解决方案 你可以让第二种模式需要 3 个参数,像这样: import argparse解析器 = argparse.Argument ..
发布时间:2021-11-17 04:50:41 Python

带有多级解析器/子解析器的 Argparse 可选参数

我有一组解析器和子解析器来构建生产或开发系统.如果用户选择生产,他可以添加选项,一切都很好. 如果他拍摄开发,他可以输入架构,然后输入构建选项.这是它变得粘稠的地方.我希望他能够选择构建选项 'comms' 'server' 或 'all',但如果他选择服务器,他有更多的选择. 我的实现如下.我尝试了解析器和子解析器的组合(似乎参数只能添加到解析器,不能添加到子解析器,对吗?) 它崩 ..
发布时间:2021-11-17 04:50:38 Python

如何根据python中给出的命令行输入运行某些函数

我有我的主脚本,我在其中定义了两个函数.or_search 将查找指定字符串的出现次数,并将其在其中找到的索引位置添加到列表中. 第二个函数 and_search 查找指定字符串的出现次数,并使用计数器增加已找到的次数.在我的 main 函数中,如果我通过例如 python main.py 和search Commission , item , sell ,它应该运行 and_search ..
发布时间:2021-11-17 04:50:35 Python

配置 argparse 以接受带引号的参数

我正在编写一个程序,除其他外,它允许用户通过参数指定要加载的模块(然后用于执行操作).我试图建立一种方法来轻松地将参数传递给这个内部模块,并且我试图使用 ArgParse 的 action='append' 让它构建一个我将传递的参数列表通过. 这是我使用的参数的基本布局 parser.add_argument('-M', '--module',help="在更改的文件上运行的模块 - 格 ..
发布时间:2021-11-17 04:50:27 Python

为什么 Python 的 argparse 对 SystemExit 使用错误代码 2?

当我提供 Python 不喜欢的 argparse 输入时,它会引发一个 SystemExit,代码为 2,其中 似乎意味着“没有这样的文件或目录".为什么要使用这个错误代码? 导入 argparse导入错误号解析器 = argparse.ArgumentParser()parser.add_argument('arg')尝试:parser.parse_args([])除了 SystemExit ..
发布时间:2021-11-17 04:50:23 Python

嵌套参数解析器

我正在尝试为命令行工具构建嵌套解析器.我目前正在使用 add_subparsers,但对于一种特定情况,它似乎不够强大.我无法向父解析器和子解析器命令添加相同的命名参数.请参见以下示例: 导入 argparseargparser = argparse.ArgumentParser()argparser.add_argument("-H", action="store_true")subparse ..
发布时间:2021-11-17 04:50:17 Python

解释 lambda argparse.HelpFormatter(prog, width)

这段代码可以正常工作以增加帮助文本的宽度,但不清楚.lambda 函数在做什么? 编辑:澄清一下,问题不是为什么 lambda 函数通常有用,而是参数解析器初始化代码如何使用 lambda 函数? 导入 argparse导入系统formatter = lambda prog: argparse.HelpFormatter(prog, width=100)dummy_text = """Lo ..
发布时间:2021-11-17 04:50:15 Python

argparse.REMAINDER 改变位置参数的行为

如果没有argparse.REMAINDER,可选参数可以在位置参数之前或之后: 导入 argparse解析器 = argparse.ArgumentParser()parser.add_argument('-a')parser.add_argument('b')print(parser.parse_args('-a 1 2'.split())) # Namespace(a='1', b='2' ..
发布时间:2021-11-17 04:50:12 Python

更改 argparse 使用消息参数顺序

我在 python3 中使用 argparse.在我的脚本中,我有一些子解析器、一个位置参数和一些可选参数.我有一个可选参数来传入任意数量的文件路径,它使用 nargs='*'.我的脚本的使用消息显示如下: 用法:myprog.py subparser1 [-h] [--dir DIR][--files [文件 [文件 ...]]]位置参数 但是,如果您确实按照此用法消息的建议将 positi ..
发布时间:2021-11-17 04:50:03 Python