2015-10-27 2 views
0

Итак, я написал свою первую программу python с поддержкой аргументов командной строки. Проблема в том, я хочу, чтобы мой -h справки для отображения на (Linux) терминале в таблице, как формат:Linux терминал: красиво отформатированный -h вывод

-i Description for input 
-o Description for output 
-x Longer description that needs 
     more lines than one 

Но с моей основной строкой и печатью знаниями я не могу показаться, чтобы получить правильный формат. Как я могу добиться, чтобы описание нескольких строк было скрытым и не попадало в раздел аргументов?

ответ

2

Я предлагаю пропуск делает разбор себя и use the argparse Python module

+0

Отлично, я использовал 'getopt' модуль, но argparse делает именно то, что я искал. – voiDnyx

+1

Я предлагаю пропустить argparse и идти прямо к [docopt] (http://docopt.org/). – Joost

2

Во-первых, помните, что «batteries are included.» В частности, я рекомендую вам использовать предоставленный модуль argparse.

Во-вторых, ответ на ваш конкретный вопрос заключается в использовании width specifier of the format spec, например, так:

fmt_string = '{:7s}{:s}' 
print fmt_string.format('-i', 'Description for input') 
print fmt_string.format('-o', 'Description for output') 
print fmt_string.format('-x', 'Longer description that needs') 
print fmt_string.format('', 'more lines than one') 
Смежные вопросы