argparse中单个破折号和双破折号之间的区别

Moa*_*sry 9 python argparse

有谁知道用单个破折号-r和双破折号指定argparse文件之间的主要区别是什么--r

我遇到了这个 Julia语言argparse,它将它们分为短和长,但没有说明为什么你会使用一个而不是另一个.

小智 12

长期选择--foo来自GNU传统:

GNU为这些约定添加了长选项.长选项包括' - '后跟由字母数字字符和短划线组成的名称.选项名称通常为一到三个字长,用连字符分隔单词.只要缩写是唯一的,用户就可以缩写选项名称.

支持短期权-f和长期期权非常普遍--foo.双短划线--用于区分长选项和短选项集合.通常,你可以写两个

go -a -b -c 
Run Code Online (Sandbox Code Playgroud)

或浓缩形式

go -abc
Run Code Online (Sandbox Code Playgroud)

那是不同

go --abc
Run Code Online (Sandbox Code Playgroud)

这是一个不同的选择.

  • 同样,如果一个值与该选项相关联,则短格式将没有空间,例如:`go -fvalue`与`go --foo = value` (2认同)

Ctx*_*Ctx 8

如果遵循通常的约定,单个破折号参数仅由单个字符组成,因此,-abc-a -b -c. 用双横线参数名称被视为整体的话,那么--abc只有一个单一命名参数abc