问题标签 [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 回答
5476 浏览

python - Python:从命名空间中提取变量

我在 python 中使用 argparse 来解析命令行参数:

现在我想用 , 和 进行a一些b计算c。但是,我觉得一直写很累args.a + args.b + args.c

因此,我正在提取这些变量:

这样我就可以写了a + b + c

有没有更优雅的方式来做到这一点?

添加许多参数时,手动提取变得非常繁琐且容易出错。

0 投票
1 回答
11703 浏览

python - Python 2.7 参数解析

我有一个功能:

def x(a,b,c)

如何从命令行收集适合此模式的变量值?

python test.py --x_center a --y_center b cc例如,具有 3、4 或更多值)

0 投票
1 回答
4402 浏览

python - Python:argparse subcommand 子命令?

我有一个有许多可用选项的程序。例如用于更改设置的配置选项。

使用普通的 argparse 子命令给我帮助

现在我想在名为 list 的配置子命令中添加另一个子命令以列出配置值

另外该命令应该接受另一个选项,以便我可以说

只列出一个类别的配置

我现在的代码基本上就是这样,只是有更多的命令

到目前为止,我找不到在子命令中使用子命令的任何方法。如果这是可能的,怎么做?如果没有,还有其他方法可以实现这个目标吗?

提前致谢

0 投票
2 回答
498 浏览

python - UTF-8 减号在 python 命令行参数中被拒绝

我在 Ubuntu Lucent 上运行 python 2.6 并且无法正确解释负命令行参数中的减号,特别是当通过 Rails 通过操作系统启动对脚本的调用时(使用反引号)。特别是,减号似乎以 UTF-8 的形式出现。

当手动解释命令行参数时,如下所示:

它触发错误:

作为 hack,我可以通过将前三个字节匹配为 '\xe2'、'\x80' 和 '\x90' 并用我自己的负号替换它们来解决这个问题。

当通过 argparse(1.2.1 版)解释命令行参数时,如下所示:

它触发错误:

任何帮助,将不胜感激!

0 投票
2 回答
21081 浏览

python - Python argparse 和 bash 完成

我也想在参数中自动完成我的 python 脚本。

我从来没有真正理解过 bash_completion 是如何工作的(对于参数),但是在我深入研究之后我明白了:

  1. 它使用“完成”将完成功能绑定到命令
  2. 每个完成函数基本上都是参数解析器的副本

特别是第二点不是很好,因为我想让它自动生成。

最好的办法是,shell 在每个 TAB 处向我的程序询问要完成什么,但我的印象是这真的行不通,对吗?

第二种选择可能只是编写一个从 argparse 解析器到正确完成的 shell 函数的转换器。

0 投票
2 回答
3571 浏览

python - 可以告诉 python 2.7 中的 argparse 至少需要两个参数吗?

我的应用程序是一个专门的文件比较实用程序,显然只比较一个文件没有意义,因此nargs='+'不太合适。

nargs=N仅排除最多N参数,但只要至少有两个参数,我就需要接受无限数量的参数。

0 投票
2 回答
9878 浏览

python - 在 Python 中将 argparse 与 sys.argv 结合使用

我目前有一个脚本,它通过如下sys.argv变量使用文件通配符:

这非常适合处理一堆文件;但是,我也想将它与argparse模块一起使用。所以,我希望我的程序能够处理以下内容:

有没有人尝试过这样做,或者对如何进行有一些指示?

0 投票
2 回答
176 浏览

python - 需要帮助使用 argparse 的 python 命令行参数

我需要一些关于使用 argparse 的帮助。我想要实现的是我只需要传入一个参数,它可以是以下之一:--k, --r, --b, --p,(ignore the rest). 如果参数计数不是 1,则打印“使用”信息并退出。此外,程序需要知道传入哪个标志才能创建相应的对象。试了好几次都不行,有大神指点一下吗?谢谢。

0 投票
7 回答
13985 浏览

python - argparse 可选子解析器(用于 --version)

我有以下代码(使用 Python 2.7):

现在我希望能够调用这个程序,例如--version附加到普通程序或一些子命令:

基本上,我需要声明可选的子解析器。我知道这并不真正受支持,但有任何解决方法或替代方案吗?

编辑:我收到的错误消息:

0 投票
5 回答
24908 浏览

python - python argparse - 带有选项的可选附加参数

我有一个脚本,我在其中询问用户要执行的预定义操作列表。我还希望能够在用户未定义任何内容时假设特定的操作列表。但是,似乎不可能同时完成这两项工作。

当用户不提供任何参数时,他们会收到默认选择无效的错误

当他们确实定义了一组操作时,生成的命名空间会将用户的操作附加到默认值,而不是替换默认值