问题标签 [optparse]

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 回答
70 浏览

python - 为什么在创建 OptionGroup 时必须提供两次解析器?

根据Python 文档,您必须在创建 OptionGroup 时提供解析器:

然后在您完成创建后显式添加它OptionGroup

我目前无法访问源代码,但稍后会。也许别人知道。

0 投票
0 回答
253 浏览

python - 在 Python 中组合命令行和环境变量数据的方法

我正在编写一个通用函数来检查某些命令行选项的存在并返回一个包含它们的对象。到目前为止,使用optparse(我仅限于使用 Python 2.6.2),我得到了:

这工作正常,但我现在想通过相同的机制提供程序名称和某些环境变量,以便它可用于将使用它的几个不同脚本。

我的直觉是将 optparse 选项复制到字典中并添加程序名称和额外的环境。在返回之前将 var info 放入字典中。

我很想知道人们对这种方法的看法。有没有更好/更被接受的方式?

0 投票
1 回答
947 浏览

python - OptParse、空格和 bash

我对 bash / optparse 有一个奇怪的问题。定义字符串时,我需要将字符串传递给我的 python 脚本。

我使用以下代码:

这是python脚本:

当我测试我的 bash 表达式时,它似乎正在工作:

但是,当我使用参数运行 python 脚本时

它在空格后截断部分字符串。

你能解释一下它为什么会发生以及如何让它发挥作用吗?

0 投票
3 回答
2275 浏览

python - 在 Python 中使用 optparse 定义变量

我很好奇如何使用 optparse 设置变量。我这样运行程序;

程序名.py -dc:\users\\etc\etc\etc

我希望能够使用 -d C:\Users\\etc\etc 来填充一个名为“path”的变量,我稍后会在程序中使用它。这可以做到吗?这是我拥有的选项解析器代码。

我稍后调用 Path 变量,我用它来填充字典。

我得到的错误是:

E:>japp_id.py -d "C:\Users\\AppData\Roaming\Microsoft\Windows\Recent\ AutomaticDestinations" Traceback(最近一次调用最后一次):文件“E:\japp_id.py”,第 30 行,用于os.listdir(path) 中的 ids: NameError: name 'path' is not defined

0 投票
2 回答
1144 浏览

python - 从 optparse 传递可选参数

我试图弄清楚如何从 optparse 传递可选参数。我遇到的问题是,如果未指定 optparse 选项,它默认为 None 类型,但如果我将 None 类型传递给函数,它会对我大喊大叫,而不是使用默认值(这是可以理解和有效的)。

问题是,我如何将函数的默认值用于可选参数,但如果有输入而没有大量 if 语句,仍然传递用户输入。

0 投票
2 回答
5443 浏览

python - Optparse Python 设置布尔值

我在让 optparse 在 python 中工作时遇到了很多麻烦。这是我第一次使用它,所以任何帮助将不胜感激。我通读了所有文档,但即使有他们的例子,它也不适合我。我正在尝试使用 --clean 使布尔变量等于 true。这就是我所拥有的:

我认为这会将runclean设置为true,但是当我这样做时:

我得到:

有任何想法吗?

0 投票
1 回答
715 浏览

optparse - py.test 在同一目录结构中不能有具有相同选项名称的 pytest_addoption

我有以下测试目录结构,每个都有自己的 conftest.py:

在 conftest.py 中,pytest_addoption 具有与 test_option 相同的选项条目:

parser.addoption("--test_option", dest="test_option", type="string", help="test_option")

在 tests/api/newapi 执行 py.test 有以下错误:

optparse.OptionConflictError:选项--test_option:冲突的选项字符串:--test_option

但是在 tests/api 或 tests 或 tests/sanity 执行 py.test 可以正常工作。如果父目录具有相同的选项名称,这是我必须想出一个新的选项名​​称的设计吗?

我希望我可以保持命名约定相同,因为有问题的选项用于测试的目的相同。目的是根据从哪个目录启动测试来改变测试的详细程度。

0 投票
2 回答
820 浏览

python - optparse csv.reader

有人可以帮助我吗,我正在尝试将 optparse 与 csv 阅读器链接,但我一直无法这样做。下面是我的代码:

我不知道如何连接 add_option 部分,以便用户可以输入文件名路径。谢谢!

我更新了我的代码。仍然无法让它工作。

更新1:

0 投票
5 回答
165 浏览

python - 开源科学项目 - 使用 Python 2.6 还是 2.7?

我已经看到其他几个关于是使用 2.x 还是 3.x 的主题。但是,其中大多数至少有两年的历史,并且不区分 2.6 和 2.7。

我正在重新启动一个我最终可能希望在 2013 年发布的科学项目。我在标准 2.6+ 模块(如 itertools)中使用了 numpy、scipy 和 pylab。哪个版本,2.6 或 2.7,会更好?

这也将明确在制作我的脚本时是否使用 optparse。

编辑:我在一所大学工作,我拿起的工作站有 Python 2.4。在 2.6 和 2.7 之间选择决定了要升级到哪个发行版。感谢您的建议!

0 投票
2 回答
4469 浏览

python - 使用 optparse 接受参数的大多数 Pythonic 方式

我目前有一个 python 文件,它利用 sys.argv[1] 在命令行接受一个字符串。然后它对该字符串执行操作,然后将修改后的字符串返回到命令行。

我想实现一个批处理模式选项,在该选项中我可以提供一个字符串文件(每行一个,fwiw)并让它返回到命令行,以便我可以重定向输出做类似的事情

同时仍保留当前功能。

我只运行 2.6,所以 argparse 不是一个选项。我看到的教程要么使用 argparse、getopt,要么深入研究太复杂/不适用的示例。

检查输入并采取适当行动的最佳方法是什么?