问题标签 [docopt]
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 - 如何使用 docopt 传递多个参数
我想使用 docopt 将两个强制参数,一个可选参数传递给我的程序。我正在使用的代码是:
$python myprog.py a1 /abc/file1.txt
当我使用上面的命令运行上面的程序时,我收到显示我编写的用法的错误消息。这里出了什么问题,我如何使用多个“参数”?
python - 如何解开文档字符串的行
我正在使用模块docopt但需要在我的程序的主文档字符串中进行换行。为了将这个换行的文档字符串传递给 docopt,我想以一种合理且健壮的方式“解开”我的文档字符串的行,以便 docopt 可以轻松地解释它。
我拥有的文档字符串类型如下:
您可以看到我在右侧字段中对文本进行了一些很好的换行:长描述被换行,并且方括号中的默认值可以选择放置在新行中以清楚起见。我想处理这个文档字符串,使其变为以下内容:
我想一种方法是检测“选项:”之后的行,这些行在一些空格之后不以“-”作为第一个字符,并将这些行拉回上一行,但我都不确定这是否是强大的方法,但不确定如何有效地实现这一点。我会欢迎一些指导。
python-2.7 - 是否有内置方法来检测用户是否更改了 docopt 中选项的默认值?
假设有以下代码:
有没有办法检查用户是否为选项“--myopt”提供了一个值,或者保持默认值不变?
我不想在这样的 if 语句中重复默认值:
或使用正则表达式__doc__
从文档字符串中提取默认值。毕竟,docopt
已经解析了文档字符串。
python - docopt 参数解析:如何避免意大利面条代码?
这是我第一次使用 docopt,我正在为我试图实现的一个小型命令行程序的 args 解析而苦苦挣扎。
我目前的论点解析是:
有没有更好,更蟒蛇或更优雅的方式来做到这一点?
ruby - 使用 Ruby 的 Docopt 获取控制台输入
我在 Ruby 中使用 Docopt 来解析我的命令选项,稍后在脚本中我使用gets.chomp
. 问题是,在 Docopt 使用 解析之后,运行程序的所有参数仍然留在 ARGF 中options = Docopt::docopt(doc)
,并且在尝试从 STDIN 获取之前从 ARGF 执行获取命令。
我试图清除 ARGF,但ARGF.gets
由于某种原因试图将输入作为命令运行。我认为清除 ARGF 或使用其他输入法都可能是解决方案,但我还没有找到任何东西。我不得不想象我不是第一个尝试在 Ruby 中使用 Docopt 获取交互式命令行输入的人,所以我希望答案就在那里。
对于那些想要它的人来说,还有更多代码:
rust - 如何使用 docops 输入命令行参数?
如何使用 docopts 在 Rust 中输入命令行参数?我希望能够简单地在向量中输入 u8 并用 docopts 解析它。
python - docopt 位置强制参数在名称中保留分隔符?
我正在尝试一个非常简单的 python 脚本,只有位置参数,由docopt
.
运行时会打印:
问题是output_file
andoutput_format
参数在名称中保留了<
and>
分隔符,使得调用args['output_file']
变得不可能。从用法字符串中删除分隔符会改变语义,使选项变成关键字。
有没有办法解决这个问题而不必求助于像这样的用法args['<output_file>']
?
python - 包括多个带有 docopt 的参数列表
我将我的 python 应用程序用作命令行工具,特性docopt 库。使用该库很容易实现命令。但是,现在我找不到完成以下要求的方法:
文档字符串是:
从shell,我想写这样的东西:
docopt 输出的结果字典如下:
但是,我需要具备以下条件:
我该如何进行?
python - 基本的 Docopt 示例不起作用
所以,我试图odd_even_example.py
从docopt 示例 git repo运行。
无论我尝试做什么或更改,该示例都不会按预期工作。
当我:
我希望看到一个包含我传递的命令行选项或参数的字典。但相反,我只是__doc__
一遍又一遍地得到字符串。
我很困惑,因为我只是从示例 repo 中逐字复制并运行文件,它直接被破坏了。
这是文件的内容:
python - python3参数定义中的docopt
我正在尝试使用docopt。
我想这样调用我的程序:
python3 my_script -p argum1 -d argum2 -u faculm
-u 不是强制性的,但“-p”和“-d”是强制性的。
但是当我调用它时,它给了我这个:
$ python3 passwdcrack.py -d papa -d pfpf -u madona Traceback(最近一次调用最后):文件“passwdcrack.py”,第 17 行,参数 = docopt.docopt( doc , version='0.0001') AttributeError:' module' 对象没有属性 'docopt'
有人能帮我吗?谢谢