问题标签 [argparse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6098 浏览

python - 使用 Python 的 argparse 接受 0-5 形式的数字范围?

使用 argparse,有没有办法接受一系列数字并将它们转换为列表?

例如:

有没有办法以这种形式输入命令行参数并最终得到:

并且还可以输入--range 2 = [2]

0 投票
1 回答
565 浏览

python - 带有基本选项和子命令的命令行界面设计

我正在尝试为我正在编写的工具开发命令行界面。我在类似于 Fabric 的fab工具的界面和类似于 svn 的命令行工具的界面之间折腾。

fab的使用信息:

svn的使用信息:

请注意,svn它还支持两个选项--version--quiet(至少我正在使用的一个)。

我的问题是:

  1. fab 的 cli(具有多个命令,每个命令都可以有参数)设计在命令行工具中是否通用?对我来说,svn 工具的 cli 似乎更常用(虽然不确定)。
  2. 使用plac(或 argparse)实现 fab 的 cli 会很简单吗?
  3. 如果我决定使用 svn 的 cli,可以使用 plac 来实现吗?我喜欢 plac,尽管我无法弄清楚如何直接向工具添加选项,而不是子命令。它绝对可以使用argparse来实现。

PS:fab 的 cli 吸引我的唯一原因是可以一步完成多项任务,但易于实施是我主要关心的问题

0 投票
1 回答
18183 浏览

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

我正在尝试让 argparse 模块在 Python 中工作。我的问题是,在全新安装时,我得到以下信息:

test.py是:

显然,我错过了一些东西。任何人都可以帮忙吗?

0 投票
1 回答
742 浏览

python - argparse 模块 - 如何在运行时更改帮助格式?

可以说,我有一个解析器:

初始化后,我希望在运行时将 argparser 中的 prog 变量更改为其他内容,可以说:'aaa'。

代码:

不起作用,因为 argparser 在 ts 格式化程序中的某个地方缓存了这个 prog。有人知道是否可以以简单的方式更改此属性?

0 投票
2 回答
732 浏览

python - 停止解析第一个未知参数

使用argparse,是否可以在第一个未知参数处停止解析参数?

我找到了 2 个几乎解决方案;

  1. parse_known_args,但这允许在第一个未知参数之后检测已知参数。
  2. nargs=argparse.REMAINDER, 但这不会停止解析,直到第一个非选项参数。在此之前无法识别的任何选项都会生成错误。

我忽略了什么吗?我应该使用argparse吗?

0 投票
11 回答
60525 浏览

python - Python argparse:至少需要一个参数

我一直在使用argparse一个 Python 程序,它可以-process-upload或两者兼而有之:

如果没有至少一个参数,程序就毫无意义。如何配置argparse以强制选择至少一个参数?

更新:

在评论之后:用至少一个选项参数化程序的 Pythonic 方法是什么?

0 投票
1 回答
1992 浏览

python - Argparse 子解析器,并链接到类

我们有一个简单的 Python 程序来管理各种类型的内部服务器,使用 argparse:

操作是检查、构建、部署、配置、验证等。

服务器类型只是我们使用的不同类型的内部服务器。

我们有一个通用服务器类,然后是从该类继承的特定类型:

我的问题是如何将所有这些链接到 argparse?

最初,我对操作(检查、构建、部署)使用 argparse 子解析,并为类型使用另一个参数。

通常,您会将每个子解析链接到一个方法 - 然后将 type_of_server 作为参数传递。但是,由于类的原因,这有点倒退——我需要创建一个适当的 Server 类的实例,然后在其中调用操作方法。

关于如何实现上述目标的任何想法?服务器可能有不同的设计模式?或者一种仍然使用 argparse 的方法?

干杯,维克多

0 投票
2 回答
1718 浏览

python - argparse python 模块行为的解释:大写占位符来自哪里?

我正在尝试编写一个命令行界面(第一次),在阅读了 about 之后,argparse我之所以选择这里是因为这里有一些关于 SO 和网络中其他地方的建议。根据 van Rossum 先生的一些建议,我将我的第一个命令行界面连接起来,如下所示:optparsegetoptargparse

这样做python myscript.py -h会导致:

所以我的第一个问题是:为什么SEARCHDO_SOMETHING_ELSE用大写字母写?第二个问题是:我是否违反了任何标准?有没有更好的方法(或者我可以从中学习的一个很好的现实世界示例)如何使用 python 构建干净且有用的命令行界面?在编写 cmd 接口时是否应该避免一些陷阱?

0 投票
3 回答
1519 浏览

python - 一个不需要位置参数的可选参数

我有一个关于 python 的 argparse 的问题:是否可以有一个不需要位置参数的可选参数?

例子:

正常的命令行是test.py 47.249 -33.282or test.py 47.249 -33.282 --method sub。但是,一旦我调用脚本test.py --list-methods来列出所有可用的方法,我就会得到error: to few arguments. 如何在没有位置参数(lat、lon)的情况下使用 argparse 来拥有这个可选参数(--list-methods)?

0 投票
2 回答
9803 浏览

python - 在 python 中,如何让子解析器读取父解析器的参数?

这是一个示例代码:

-main_arg如果我输入,我希望它读入program run required_sub_arg -main_arg -arg_a

现在,它不被认为-main_arg是一个有效的论点。