1

我正在使用一个称为click制作命令行应用程序的库并定义代码看起来像这样的描述

def cli:
    """ Description goes here """

所以一切都很好,直到我尝试多行。

我自然试过这个

def cli:
     """ hi
         hi
         hi"""

但这并没有很好的结束。文本被推到所有地方,看起来并不好。我尝试在每一行之后添加 \n ,但它只是添加到一个很大的空间,输出最终看起来像这样:

Output:
       hi

       hi

       hi

不能发生这种情况的原因是我有需要线条靠在一起的 ascii 艺术。

4

1 回答 1

2

您第二次尝试的问题是该行从第一个开始""",然后包括所有文本(包括空格),直到下一个"""。所以,当你这样做时:

def cli:
     """ hi
         hi
         hi"""

在第一个“hi”之前有 1 个空格,然后在下一个之前有 9 个空格。解决方案是将第一行放在一行中,或者在其他行之前删除 8 个空格。这应该在打印时对每个“hi”都有一致的缩进:

def cli:
    return """
         \b 
         hi
         hi
         hi"""

编辑:显然在打印之前单击重新格式化文本,但根据文档添加\b应该禁用该行为。

于 2015-10-05T20:36:56.693 回答