Нажмите форматирование справки командной строки в несколько строк
Я использую библиотеку под названием click
для создания приложений командной строки и определения описания код выглядит следующим образом
def cli:
""" Description goes here """
Так что все хорошо, пока я не попытаюсь иметь несколько строк.
Естественно я попробовал это
def cli:
""" hi
hi
hi"""
Но это не заканчивается хорошо. Текст толкается повсюду и выглядит хорошо. Я попытался добавить \n после каждой строки, но это просто добавило к большому пространству, где результат в конечном итоге выглядел так:
Output:
hi
hi
hi
По этой причине этого не может быть, потому что у меня есть искусство ascii, которому нужно, чтобы линии были близко друг к другу.
1 ответ
Проблема со второй попыткой состоит в том, что линия начинается с первой """
а затем включает в себя весь текст (включая пробелы) до следующего """
, Итак, когда вы делаете это:
def cli:
""" hi
hi
hi"""
У вас есть 1 пробел перед первым 'привет' и затем 9 пробелов перед следующим. Решение состоит в том, чтобы либо уронить первую строку вниз на одну строку, либо просто удалить 8 пробелов перед другими строками. Это должно иметь одинаковый отступ для каждого "привета", когда он печатается:
def cli:
return """
\b
hi
hi
hi"""
РЕДАКТИРОВАТЬ: Видимо, нажмите переформатировать текст, прежде чем он напечатает его, но в соответствии с добавлением документов \b
следует отключить это поведение.