我正在使用模块docopt但需要在我的程序的主文档字符串中进行换行。为了将这个换行的文档字符串传递给 docopt,我想以一种合理且健壮的方式“解开”我的文档字符串的行,以便 docopt 可以轻松地解释它。
我拥有的文档字符串类型如下:
Usage:
program [options]
Options:
-h, --help display help message
--version display version and exit
-v, --verbose verbose logging
-u, --username=USERNAME username
-c, --configuration=FILE file containing configuration
[default: 2015-02-06T1012Z_test.txt]
-d, --data=FILE file containing list of data files generated in
Run 1 of the LHC
[default: 2015-02-05T1012Z_data.root]
您可以看到我在右侧字段中对文本进行了一些很好的换行:长描述被换行,并且方括号中的默认值可以选择放置在新行中以清楚起见。我想处理这个文档字符串,使其变为以下内容:
Usage:
program [options]
Options:
-h, --help display help message
--version display version and exit
-v, --verbose verbose logging
-u, --username=USERNAME username
-c, --configuration=FILE file containing configuration [default: 2015-02-06T1012Z_test.txt]
-d, --data=FILE file containing list of data files generated in Run 1 of the LHC [default: 2015-02-05T1012Z_data.root]
我想一种方法是检测“选项:”之后的行,这些行在一些空格之后不以“-”作为第一个字符,并将这些行拉回上一行,但我都不确定这是否是强大的方法,但不确定如何有效地实现这一点。我会欢迎一些指导。