问题标签 [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.
python - Python argparse:nargs + 或 * 取决于先前的参数
我正在编写一个服务器查询工具,并且我有一些代码来解析最顶部的参数:
有没有更好的方法来做到这一点,最好是在解析器中?最后一个错误看起来有点不合时宜,如果我可以根据 --odam 或 ---odas 是否通过而为地址设置 nargs 那就太好了。我可以创建一个子解析器,但这会使帮助看起来有点奇怪,因为它会省略命令的地址部分。
python - Python argparse:有没有办法在 nargs 中指定范围?
我有一个可选参数,它支持参数列表本身。
我的意思是,它应该支持:
- -f 1 2
- -f 1 2 3
但不是:
- -f 1
- -f 1 2 3 4
有没有办法在 argparse 中强制执行此操作?现在我使用 nargs="*",然后检查列表长度。
编辑:根据要求,我需要的是能够定义一系列可接受的参数数量。我的意思是,说(在示例中)2 或 3 个 args 是正确的,但不是 1 或 4 或任何不在 2..3 范围内的东西
python - 使用 python argparse 递归
我正在使用 argparse 编写递归程序。唯一需要的参数是要操作的文件(或多个文件)。当我递归调用它时,我不需要文件名(因为我将调用一个新目录),但我需要选项。问题是 argparse 允许python programname.py -options arg FILENAME FILENAME
和python programname.py FILENAME FILENAME -options arg
。我可以煞费苦心地寻找一个 '-' 并用大量的 if 语句来解决它,但我觉得应该有更好的方法。
不确定这是否重要,但这是我的 argparse 声明:
非常感谢!
python - 有没有办法在 Argparser 中设置没有任何前缀的选项?
我正在使用 Argparser 来处理我的 CLI prog 的参数。但随着时间的推移,我认为使用它不是一个好主意。问题来了。我想使用没有任何前缀字符的选项。像git commit或svn move。我搜索了一下,发现 Argparse 有一个 add_subparser() 方法。让我们填充我们的foo prog:
现在让使用选项执行 foo 并打印args
命名空间(我没有过去整个代码,你明白了):
如您所见,如果我执行 option del
,add_project不会传递给 variable args
。如果我的 main() 函数中有一个“if 子句”,这会导致问题,例如
我会得到一个AttributeError异常,如果我执行,命名空间没有名为add_project./foo del
的属性。除此之外,我无法将任何参数传递给 optionsdel
和add
. 我还将 prefix_chars 设置为一个空字符串,这也不起作用。
有什么办法处理它?argparse 是否能够创建 git、svn 等选项。或者我应该创建自己的函数并自己处理所有参数?
python - Python argparse:预先格式化的帮助文本?
我正在使用 argparse,我想在我的一个选项的帮助文本中显示一个列表。但是,argparse 从文本中删除新行并将其显示在单行上。
无论如何告诉 argparse 帮助字符串是预先格式化的,而不是去除换行符?
python - 如何将函数作为参数?(Python)
我正在编写一个程序来计算旋转固体的体积。第一步是计算积分。我正在使用scipy.integrate
它,但我无法找出获得方程式的最佳方法(如x=x**2
命令行中的输入。我最初计划添加一个参数“相对于:x|y”,然后采用作为 lambda 函数。不幸的是,argparse
不会将 lambda 作为参数类型,并且尝试使用字符串构造 lambda ( f = lambda x: args.equation
) 只会返回一个字符串(可以理解)。
这是我到目前为止所得到的:
任何建议将不胜感激谢谢
python - argparse 的 add_argument 如何在关键字参数之前采用可变长度参数?
在 python2.7 中,argparse 模块有一个 add_argument 方法,该方法可以在其关键字参数之前采用可变数量的未命名参数,如下所示:
据我所知,以下函数定义不起作用:
add_argument
模仿这种行为的正确方法是什么?
python - 带有依赖项的python argparse
我正在编写一个脚本,它有 2 个互斥的参数,以及一个仅对其中一个参数有意义的选项。如果您使用没有意义的参数调用它,我正在尝试将 argparse 设置为失败。
要清楚:
-m -f
说得通
-s
说得通
-s -f
应该抛出错误
没有争论是好的。
我的代码是:
哪个不起作用,因为它会吐出来
而不是我所期望的:
或类似的。
也不会抛出任何错误。
python - argparse 位置参数的位置
而不是这个:
usage: installer.py [-h] [-v] dir
我想要这个:
usage: installer.py dir [-h] [-v]
有没有办法指定位置参数的位置?
python - argparse 可选位置参数?
我有一个脚本,打算像这样使用:
usage: installer.py dir [-h] [-v]
dir
是一个位置参数,定义如下:
我希望dir
它是可选的:当它没有被指定时,它应该只是cwd
.
不幸的是,当我没有指定dir
参数时,我得到Error: Too few arguments
.