этот кусок кода сводит меня с ума. Я пытаюсь распечатать список справки для программы, которую я пишу. Поэтому я определяю словарь, где ключи - это слова, которые пользователь может захотеть уточнить, а значения - описания слов. Затем я использую цикл for... in...
, чтобы распечатать все это. Проще говоря:
ERROR = '\x1B[1;31m ERROR!! \x1B[0m'
WARNING = '\x1B[1;33m WARNING! \x1B[0m'
SUCCESS = '\x1B[1;32m Operation successful! \x1B[0m'
ABORTED = '\x1B[1;33m Operation aborted! \x1B[0m'
help_descriptions = {'\x1B[34m NUMBERS \x1B[0m':'are the options you can take.',\
ERROR:'means you ran into and error and the program can\'t go on.',\
WARNING:'means that the data you entered might cause problems.',\
SUCCESS:'means that no run-time errors where encoutered.',\
ABORTED:'means you aborted a previous option, deleting\n the data associated.'}
def HelpMe():
print(70 * '~')
print(' HELP')
print(70 * '~')
for key in help_descriptions.keys():
print('%10s %s' % (key, help_descriptions.get(key)))
print(70 * '~')
Единственное, что не работает - это токен %10s
. Я имею в виду, что он печатает значение ключа, но не ставит лишние пробелы, если это необходимо. Я пытался запустить в интерактивном разделе этот кусок кода
print('%10s' % 'foo')
и вывод правильный.
Кто-нибудь из вас имеет представление о том, как заставить это работать?
Дополнительная информация: Я работаю Python 3 на машине с Linux под управлением Ubuntu 11.04 . Этот код является частью пользовательского модуля, который я написал для хранения статического текста или простых функций, которые печатают текст. Поэтому я импортирую этот модуль в основное приложение, он не является автономным.
Заранее спасибо.