问题标签 [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.
python - Python、optparse 和文件掩码
结果是
当前文件夹中有 video_[1-6].wmv。问题是为什么video_*变成video_1.wmv。我做错了什么?
python - Python optparse 元变量
我不确定optparse
'smetavar
参数的用途。我看到它到处都在使用,但我看不到它的用途。
有人可以对我说清楚吗?谢谢。
python - Python Optparse 列表
我在我的程序中使用了 python optparse 模块,但我无法找到一种简单的方法来解析包含值列表的选项。
例如:
我希望能够以列表格式访问这些值,如options.groups[]
. 是否有 optparse 选项将逗号分隔值转换为列表?还是我必须手动执行此操作?
python - 如何模拟 Python 方法 OptionParser.error(),它执行 sys.exit()?
我正在尝试对一些看起来像这样的代码进行单元测试:
使用如下所示的代码:
我正在使用Michael Foord 的 Mock和 nose 来运行测试。
当我运行测试时,我得到:
问题是 OptionParser.error 执行 sys.exit(2),因此 main() 自然依赖于此。但是鼻子或单元测试检测到(预期的) sys.exit(2) 并且测试失败。
我可以通过在 main() 中的 parser.error() 调用下添加“return 2”并从 parser_error_mock() 中删除 sys.exit() 调用来使测试通过,但我发现将被测代码修改为允许测试通过。有更好的解决方案吗?
更新:df的答案有效,尽管正确的调用是“self.assertRaises(SystemExit, sut.main)”。
这意味着测试通过了 parser_error_mock() 中 sys.exit() 中的任何数字。有什么方法可以测试退出代码吗?
顺便说一句,如果我添加,测试会更加健壮:
在末尾。
更新 2:我可以通过将“self.assertRaises(SystemExit, sut.main)”替换为:
python - OptionParser - 支持命令行末尾的任何选项
我正在编写一个应该在远程服务器上执行命令的小程序(假设是一个相当愚蠢的包装器ssh [hostname] [command]
)。
我想这样执行它:
但是,我需要不时传递某些命令行:
所以我决定为此使用 optparse.OptionParser 。问题是,我有时命令也有参数,如果我这样做可以正常工作:
但我也希望它在我使用时起作用:
这个想法是,一旦我遇到第一个非选项参数,之后的所有内容都应该成为我命令的一部分。
然而,这给了我:
OptionParser 是否支持这种语法?如果是这样:如何?如果不是:解决此问题的最佳方法是什么?
ruby - 使用 Ruby 从命令行参数中提取文件名
我正在尝试使用optparse来解析命令行参数。我希望我的程序接受这样的参数:
我可以轻松管理该[options]
部分:
但我如何得到filename
?
我可以手动从中提取它ARGV
,但必须有更好的解决方案,只是无法弄清楚如何
ruby - optpase 在 cmd 行参数中提供字符串时返回 true 类
我陷入了一个完全愚蠢的境地。当我使用下面的代码片段时,尽管我的命令行是“./the_script.rb -s serv”并且我检查了代码中服务变量的值,但它总是被 optparse 视为布尔类。所以我无法从命令行获取我的字符串......
有任何想法吗 ?
python - Optparse:变量 arg 回调操作的使用并不表示需要额外的参数
我在我的 python 代码中实现了一个回调变量参数,类似于在这里可以找到的:
https ://docs.python.org/library/optparse.html#callback-example-6-variable-arguments
添加这样的选项:
问题是,没有提示用户该选项需要额外输入:
有没有办法改变 optparse 的用法,以便用法会打印出如下内容:
python - 使用 Python 的 optparse 模块,如何创建一个带有可变数量参数的选项?
使用 Perl Getopt::Long
,您可以轻松定义带有可变数量参数的命令行选项:
有没有办法直接用 Python 的optparse
模块做到这一点?据我所知,nargs
option 属性可用于指定固定数量的选项参数,我在文档中没有看到其他替代方法。