问题标签 [optionparser]
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 (v2.7) 脚本 ( test.py )
用户必须提供文件模式或文件名
如果缺少选项,则在命令行中运行脚本返回错误:
如果选项文件缺少一些字母(--fil 而不是--files):
我想我应该有如下错误
当我使用--fil而不是正确的参数--files时,为什么我不会从OptionParser收到错误?
不仅我没有收到错误,而且变量文件存储了值:a_pattern_for_files(已打印)。
我期望参数文件具有值:无(默认),除非在命令行中--files存在
ruby - Ruby OptionParser 未正确解析 -- 命令正确
这是 OptionParser 的精简版
这是格式选项的试用版
为什么不起作用--format s
?
python - 如何执行 python 类模块以及 pytest 和选项解析器?
custom_calculation.py
test_custom_calculation.py
这就是我执行简单模块的方式。cd main/src python -m pytest py.test -v
学习python面向对象。如果我的代码有误,请帮助我(甚至可以在导入模块中)。这里的实际问题是,我可以执行 python(包含类)模块以及 pytest 和选项解析器吗?
没有pytest,我可以运行它python test_custom_calculation.py --a 10 --b 10 --c add
我如何用 pytest 运行它?
编辑:
crystal-lang - Crystal lang 在不应该时从 OptionParser 获取选项参数
我开始使用Crystal lang,我想使用OptionParser来显示帮助文本,但是-h将由Crystal而不是OptionParser解释
我正在使用来自https://crystal-lang.org/api/0.18.7/OptionParser.html的示例
并使用以下命令调用应用程序myAppl:
这显示了水晶帮助。现在,如果我编译应用程序,那么它会显示我编写的帮助文本OptionParser
我做错了什么?
ruby - 布尔选项的Ruby OptionParser短代码?
我正在使用 Ruby 的 OptionParser ( require 'optparse'
) 处理可以为真或假的“详细”选项。它在这样的代码中:
我支持在环境变量中指定选项(我将其内容添加到 ARGV),因此可以在该环境变量中设置详细模式,并在命令行上使用--no-verbose
. 但是,我找不到用简短选项覆盖它的方法。我试过这些但没有成功:
我在https://github.com/ruby/ruby/blob/trunk/lib/optparse.rb找到了源代码,但无法从中找出答案。
我怎样才能做到这一点?
python - 是否可以发送一个“OptionParser”对象作为输入参数来运行导入的 python 模块的 main?
有两个 python 脚本,“script1.py”和“script2.py”。
'script1.py' 使用 OptionParser 来解析命令行参数。
'script1.py' 的内容看起来像这样
在命令行上运行它。它运行:
'script2.py' 也使用以相同方式实现的 OptionParser,但具有一组不同的选项。
“script2.py”也将“script1.py”作为模块导入。
我想从 script2.py 运行 script1.py 的主要部分。做这个的最好方式是什么?
我让它工作的一种方法是更改 script1.py 的 main 以将 OptionParser 作为参数。
并确保两个脚本的 OptionParser 具有完全相同的选项。如果我这样做,那么我可以将 OptionParser 对象从 script2 传递到 script1,如下所示:
有没有办法在不使两个脚本中的 OptionParser 相同的情况下实现相同的结果。
理想情况下,我希望它按以下方式工作:
这样我可以从命令行以及另一个脚本运行 script1。
编辑:我也知道我可以使用 subprocess 和 os.system() 来执行 python 脚本。我想知道是否有更简洁的方法来设计两个脚本之间的交互。
编辑 2:根据 Mig 的建议,我将选项解析器移出 main。
scrip1.py 现在看起来如下
现在从 script2.py 导入 script1.py 作为模块后,我可以调用 main of script1 script1.main(option1="Option1", option2="Option2")
。
python - 有没有办法为使用 parser.add_option 创建的选项输入输入,而不为同一选项输入任何输入?
现在,当我在命令提示符下键入“ python openweather.py --api= key --city=London --temp=fahrenheit ”时,我会得到所需的华氏温度输出,即使输入了摄氏度(“ --temp=摄氏度“)我得到了所需的摄氏温度输出。
但我进一步要求的是,如果我输入“ python openweather.py --api= key --city=London --temp ”,我需要默认输出摄氏度。问题是我无法为相同的“--temp”执行此操作,因为我不断收到错误消息:“openweather.py: error: --temp option requires 1 argument”对于我尝试的任何事情。
以下是我正在使用的代码:
所以我需要相同的“--temp”才能接受输入并且没有输入。任何帮助表示赞赏。
python - python3.7 optionparser 输入选项带星号(*)变成文件夹中的文件
环境:
python3.7
OptionParser with a option [ add_option('-t', '--target', action='append', dest='targets') ]
操作系统:CentOS7.6
问题:
所以我使用这个选项来输入一个目标列表,并使用这个命令行:
parser -t logs* -t test
有一个文件“logs.tar.gz”在我执行这个命令行的地方,当我打印目标的值时,这就是我得到的:
['logs.tar.gz', 'test']
所以我认为这是系统级别的“问题”,我想知道的是:
有没有什么方法可以logs*
在没有pythonlogs*
输入的情况下实现?logs\*
ruby - 我在 OptionParser 中有三个标志,但它只能访问其中两个
我正在使用 Ruby 构建 CLI gem,并且正在使用 OptionParser 添加带有参数的标志。每当使用参数调用一个标志时,就会调用一个函数。我有三个标志。我的问题是,当我运行-h
命令查看可用的选项(标志)时,它只显示其中三个(跳过中间一个),即使我尝试使用该标志,(帮助中未列出)它运行最后一个标志的代码。这是我的标志代码:
这是-av_max
不起作用的标志。当我运行get 时执行-av_max
。week_average_min(ARGV.first)
当我在-h
这里运行命令时,它显示的是:
我的问题是,OptionParser 是否可以使用三个标志?如果是这样,我怎样才能使这个中间单位工作?
c - C: getopt_long() 总是返回无效选项
我正在尝试使用getopt_long向已经工作的 C 程序添加一个新选项。我要添加的选项是-S但每次我尝试运行我得到的代码时:
我只是在long_options向量中添加了一个关于我想以这种方式添加的选项的新元素:
下面是我的代码:
我也尝试了不同的字符,但我总是得到无效的选项。问题出在哪里?