问题标签 [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 - argparse:指定可选参数时忽略多个位置参数
我试图让 argparse 忽略这样一个事实,即在指定可选参数 ( ) 时不应评估两个通常需要的位置参数-l
。
基本上我试图复制 --help 的行为:当您指定 -h 时,所有缺少的必需参数都将被忽略。
示例代码:
当然,如果我现在运行它,我会得到:
我尝试了不同的东西,例如nargs='?'
,但没有任何工作。
这个问题非常相似,但没有得到回答。
python - 如何使`help`与argparse中的`--help`作用相同
我希望该help
选项与--help
.
旁注:我创建了一个与 svn 或 hg 具有相同命令行行为的程序。我设法用子解析器做到了这一点。但是我想让事情保持一致。这就是我想help
工作的原因。
python - Python argparse - 向多个子解析器添加参数
我的脚本定义了一个主解析器和多个子解析器。我想将-p
参数应用于一些子解析器。到目前为止,代码如下所示:
如您所见,add_arument ("-p")
它重复了两次。我实际上有更多的子解析器。有没有办法遍历现有的子解析器以避免重复?
作为记录,我使用的是 Python 2.7
python - 带有 argparse 的 Python 中的可选标准输入
我发现了非常有用的语法
用于指定输入文件或使用标准输入——我想要在我的程序中使用这两者。但是,并不总是需要输入文件。如果我没有使用-i
或重定向输入之一
我不希望我的 Python 程序等待输入。我希望它继续前进并使用默认值。
python - argparse.add_argument() 中的 type=dict
我正在尝试将字典设置为可选参数(使用 argparse);以下是我到目前为止所拥有的:
但是运行脚本:
即使在解释器内部,
工作得很好。
那么我应该如何传递参数呢?提前致谢。
python - python + argparse - 如何从命令行获取可选参数的顺序
我想知道如何获取从命令行传递给 argparse 的可选参数的顺序
我有图像处理类,它能够对图像应用不同的操作——比如旋转、裁剪、调整大小......
应用这些操作的顺序通常很重要(例如:您想在调整图像大小之前裁剪图像)
我有这个代码:
但是 - 无论我以哪种顺序将参数传递给脚本:
cmd.py test.jpg test2.jpg -crop 10 10 200 200 -resize 450 300
cmd.py test.jpg test2.jpg -resize 450 300 -crop 10 10 200 200
在命名空间中的项目总是按相同的顺序排列(我想是按字母顺序排列的):
有没有办法按命令行字符串中的位置对它们进行排序或获取它们的索引?
python - 如何为包实现标准记录器和 argparser
我正在尝试为我们的内部软件开发流程实现 python 构建包和功能测试包。我的主要目标是实现一个全局/标准记录器(类似于这里的参考)和 argparser,所有模块都将从它们的透视包中使用(即构建记录器和解析器将不同于测试套件记录器和解析器)。
这应该在__init__.py
包装中完成吗?有没有其他方法可以实现这一目标?我还没有看到真正的需要__init__.py
是什么?也许,这回答了我自己的问题?
我编写了许多 python 模块和其他应用程序,但从未编写过包/库。这个概念似乎给我带来了新的可能性,比如标准化这些流程。
基本上,总而言之,我对这些软件包的目标是:
1.) 消除对长参数列表的冗余传递/解析和/或访问系统环境的需要。
2.) 消除我们过去从不同的测试和构建脚本中看到的无数输出。
3.) 提供易于使用的自文档包。任何关于包文档的建议也将非常有用。:)
这将使这些软件包的用户能够:
1.) 轻松访问一组标准参数。例如,包中的每个模块都将(按优先顺序)使用标准标志解析命令行参数、加载配置文件或使用默认值。
2.) 以标准方式轻松记录错误、警告和调试语句。
3.) 随着这些测试/构建模块的传递,这最终将使“用户”(即没有编写模块的人)能够以通用方式运行它。
我想我正在寻找一些真正的“Pythonic”实施建议,因为那里的各种选项和可能性似乎是压倒性的。提前致谢。
python - 如何使没有前缀的python argparse互斥组参数?
Python2.7 argparse 只接受互斥组中的可选参数(前缀):
$ mydaemon -h
有没有办法让 argparse 参数表现得像传统的 unix 守护进程控制:
python - 使用 argparse 获取包含 " 或 ' 的输入
我制作了一个快速的 python 脚本,可以从 ASCII 转换为 Unicode 并返回。我通过 argparse 接受输入,因此它必须包含在引号内,即 ./Converter.py -a "there's my friend"。然后该脚本将输出逗号分隔的 Unicode 值。
当然 ' 会破坏输入,我知道我可以通过在 ' 前面放一个 \ 来逃避它;但是,由于某种原因,这会停止添加逗号。例如:
输出:
如您所见,在 34 和 104 之间应该有一个逗号和一个空格。这是代码:
如果我删除
这阻止了问题的发生,但是在 Unicode 值字符串的最后添加了一个逗号,这是我不想要的。
因此,我的问题是 a) 我怎样才能防止这种情况发生?b)有没有更好的方法来获取这种类型的输入,例如,我会更好地设置 raw_input 吗?
非常感谢任何帮助,谢谢!
python - python - 如何修改pythons argparse中位置参数的元变量?
在argparse包中,metavar
参数修改显示的程序帮助信息。以下程序并非旨在工作,它只是用于演示metavar
参数的行为。
对应的帮助信息是:
-range1
请注意和后面的区别-range2
。显然-range1
是帮助消息的首选方式。
到目前为止,我对一切都很清楚。但是,如果我将可选-range1
参数更改为位置range1
参数,则argparse无法处理metavar
参数 ( ValueError: too many values to unpack
) 的元组。
我能够让它工作的唯一方法-range2
就是完成。但是,帮助信息远没有-range1
案例那么好。
有没有办法获得与案例相同的帮助信息,-range1
但使用位置参数而不是可选参数?