Как напечатать текст многострочной версии модулем argparse в Python? - PullRequest
0 голосов
/ 24 февраля 2020

Хорошо, я использую модуль argparse, но обнаружил, что многострочный текст в качестве информации о версии не будет хорошо отображаться. Результат показывает, что '\ n' будет заменено на пробел ''. Пример:

import argparse
ver_text = 'This is the\nversion text!'
parser = argparse.ArgumentParser()
parser.add_argument('-v', '--version', action='version', version=ver_text)
$ python test.py -v

Результат:

This is the version text!

Так что это проблема. Интересно, как с этим справиться. Большое спасибо!

1 Ответ

0 голосов
/ 24 февраля 2020

Если я использую

ArgumentParser(formatter_class=RawTextHelpFormatter)

, тогда отображается \n

import argparse
from argparse import RawTextHelpFormatter

ver_text = 'This is the\nversion text!'
parser = argparse.ArgumentParser(formatter_class=RawTextHelpFormatter)
parser.add_argument('-v', '--version', action='version', version=ver_text)
parser.parse_args(['-v'])

Но я не знаю, будут ли другие строки работать правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...