单击命令行帮助跨多行格式化
Click commandline help formatting across multiple lines
我正在使用一个名为 click
的库来制作命令行应用程序并定义描述,代码如下所示
def cli:
""" Description goes here """
所以一切都很好,直到我尝试有多行。
自然我试过了
def cli:
""" hi
hi
hi"""
但这并没有很好地结束。文本到处都是,看起来不错。我尝试在每一行之后添加 \n 但它只是添加到 big a space 输出最终看起来像这样:
Output:
hi
hi
hi
这不可能发生的原因是我有 ascii 艺术需要线条靠在一起。
您第二次尝试的问题是该行从第一个 """
开始,然后包括所有文本(包括白色 space)直到下一个 """
。所以,当你这样做时:
def cli:
""" hi
hi
hi"""
您在第一个 'hi' 之前有 1 space,然后在下一个 space 之前有 9 space。解决方案是要么将第一行向下一行删除,要么只删除其他行之前的 8 spaces。打印时每个 'hi' 应该有一致的缩进:
def cli:
return """
\b
hi
hi
hi"""
编辑:显然在打印文本之前单击会重新格式化文本,但根据 the docs 添加 \b
应该会禁用该行为。
我正在使用一个名为 click
的库来制作命令行应用程序并定义描述,代码如下所示
def cli:
""" Description goes here """
所以一切都很好,直到我尝试有多行。
自然我试过了
def cli:
""" hi
hi
hi"""
但这并没有很好地结束。文本到处都是,看起来不错。我尝试在每一行之后添加 \n 但它只是添加到 big a space 输出最终看起来像这样:
Output:
hi
hi
hi
这不可能发生的原因是我有 ascii 艺术需要线条靠在一起。
您第二次尝试的问题是该行从第一个 """
开始,然后包括所有文本(包括白色 space)直到下一个 """
。所以,当你这样做时:
def cli:
""" hi
hi
hi"""
您在第一个 'hi' 之前有 1 space,然后在下一个 space 之前有 9 space。解决方案是要么将第一行向下一行删除,要么只删除其他行之前的 8 spaces。打印时每个 'hi' 应该有一致的缩进:
def cli:
return """
\b
hi
hi
hi"""
编辑:显然在打印文本之前单击会重新格式化文本,但根据 the docs 添加 \b
应该会禁用该行为。