问题标签 [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.

0 投票
1 回答
1294 浏览

python - Docopt - 错误,退出未定义 - Python 程序的 CLI 接口

我确信这个问题的答案就在那里,但我已经阅读了网站信息,我已经观看了他们制作的视频,并且我试图找到一个非常基本的教程,但我不能。我整天都在搞这个,这对我来说真的没有意义。

这是我的错误:

第 20 行 - 我不明白为什么该行会产生错误,它以前工作过,我在其他程序中看到过确切的行?

我不知道为什么 docopt 的第 570 行会产生错误 - 我见过其他人使用 DocoptExit(),这不只是 Docopt 的一部分吗?我必须为此编写自己的退出函数吗?(我没有看到其他人这样做)

这是代码

我试图做的是我编写的一个脚本,它根据文件的扩展名将文件从一个地方移动到另一个地方。

因此命令行中的参数将是文件类型、起始目录、目标目录,以及在它们被移动后从起始目录中删除它们的选项。

我正在尝试(但失败)让 docopt 在将其包含在其他脚本中之前自行工作。

0 投票
1 回答
1665 浏览

python - 如何传递一个docopt参数,其中参数是python中带有空格的字符串

如何在 python 中创建一个文档,其中我的参数需要是一个带空格的字符串。我尝试在它周围加上单引号和双引号,但它不起作用。

到目前为止,这是我的文档字符串。

parser.py myfile.py “这是橙子”#不起作用

0 投票
2 回答
1274 浏览

python - 使用 docopt 解析时,如何使用存储在数组中的未知 n 个值创建参数

我希望命令行参数采用数组格式。

即 myprogram.py -a 1,2,4,5

当使用 doc opt 解析参数时,我想看看

我不知道这是否可能。如果不是,我能做出的最佳调整是什么?

0 投票
1 回答
377 浏览

python - Docopt的options配置中的文本如何换行?

我在用于配置 Docopt 的文档字符串中有一些详细的选项规范。有些项目很长。有没有一种方法可以包装文本以使其更清晰或更容易适应线宽?

假设文档字符串中的相关文本如下:

是否可以将文本包装成类似以下的样式?

0 投票
1 回答
3722 浏览

python - TypeError: execv() arg 2 必须只包含使用 docopt 的字符串

我在传递参数时遇到了以下错误。谁能帮我确定这个问题?我在终端中向我的函数传递指令,如下所示:

这是主要功能 - 如您所见,我尝试将参数 --codec 作为字符串传递:

此代码正在运行的其他函数的一部分(makeProRes,第 110 行是输出变量):

错误:

0 投票
1 回答
186 浏览

python - 在 docopt 中的程序名称中包含空格

如何在 中包含带有空格(如git status)的程序名称docopt?我有一个 Perl 脚本分派 Python 脚本的设置。Perl 脚本可以通过多种方式调用,为了简单起见:prog sub1 sub2. 所以 Perl 脚本被命名为prog. 它现在调度名为sub2using的 Python 脚本sub2 --progName="prog sub1 sub2" [options]。(所以真正的程序名不是sub2but prog sub1 sub2)。我尝试使用 来实现此方案docopt,例如:

但是,这不适用于命令名称中的空格 ( prog sub1 sub2)..

0 投票
1 回答
53 浏览

docopt - DocOpt 是否支持 @FILE 语法来提供带有其他 CLI 选项的文件?

标题说明了一切!我似乎在任何文档或任何其他网站/SO 问题上都找不到这个。

我想要做的是在调用我的程序时,指定一个包含更多 CLI 选项的文件。它在某些 UNIX 程序(如ar)中受支持,并且在命令行长度有限制的系统上很方便。DocOpt 支持这个吗?

我想做的事:

myProg -d --process-all --some-other-opt "hello" @additionalOptions.txt

其中additionalOptions.txt包含以下内容:

-g
--name "Sarah"
--name "Caleb"
--name "Sharen"
--name "Matt"
... # 还有更多

0 投票
1 回答
107 浏览

docopt - 选项列表中指定的重复参数

是否可以按照以下方式做一些事情:

这将提供以下 JSON:

我知道重复可选参数是可能的,我真的更喜欢在选项描述中指定,而不是必须这样做:

如果可能的话,有人可以告诉我如何实现这一目标吗?

0 投票
1 回答
848 浏览

python - 解析 docopt 参数类型(任何语言)

我有一个用例,用户提供一个 docopt 字符串,并基于它生成一些代码。所以我不知道我的docopt字符串在前面。

对于某些“参数类型”(不是数据类型),我希望生成各种代码。

在下文中,我将区分“类型”和“数据类型”。对于 docopt 参数--arg=DEGREES和 argv input --arg=10,“类型”--argDEGREES,而数据类型是integer。值为10

用户可以给我以下文档字符串:

除了像往常一样解析这个docopt字符串之外,我还试图弄清楚参数的“类型”dirspeed要求。我想知道那dir是 typeFILE并且speed是 type ABC

例子:

鉴于上面的 docopt 字符串和一个 argv 字符串naval_fate --dir=/tmp --speed 1234,我希望不仅可以访问值和数据类型 ( <key> => <value,datatype>),还希望访问“配置类型” ( <key> => <value,datatype,argtype>,即类似于以下内容的内容:

dir=> val: /tmp, 数据类型: String,类型:FILE
speed => val: 1234, 数据类型: Integer,类型:ABC

docopt 的任何(托管)实现都是可以接受的,包括 Python,尽管我最好在编译语言中寻找解决方案,无论是 C、Go、Rust 等。

0 投票
1 回答
219 浏览

go - docopt.go 奇怪的错误信息

使用 docopt.go 重构旧项目并最小化代码,程序看起来像这样

但是,当我运行程序go run ./serve.go help期待帮助消息时,我得到了这个

并运行go run ./serve.go --port 5000它返回相同的东西但是运行go run ./serve.go --port 5000 .返回

我哪里做错了?