На месте вкладок, то лучше использовать директивы форматирования строки, где можно указать точное количество пробелов и зарезервировать для вывода.
Например
print '>>%20s<<' %('some string')
>> some string<<
будет резервировать 20 мест и права -align этой строки для отображения. Вы можете оставили -justify него с помощью %-20s
print '>>%-20s<<' %('some string')
>>some string <<
Числа могут быть заданы с помощью d
для целых чисел и f
для значений с плавающей точкой. Например,
print '%03d %5.2f' %(5, 22/7.0)
005 3.14
В этом примере я зарезервировал 3 нулей пространства для целочисленного значения, и 5 мест для поплавка (2 для значений после десятичного пространства). Вы также можете контролировать alignemnt с -
. Есть много других вариантов форматирования вывода, см. Предлагаемые ссылки ниже для более подробной информации.
Обратите внимание, что рекомендуется использовать функцию .format()
. См. SO my answer here о том, как использовать .format()
. Это может также помочь answer.
Хотя .format
может показаться очень многословным, он предлагает большую гибкость, и одна из моих любимых функций - возможность легко печатать запятые в больших количествах для удобства чтения.
Подробнее см. В разделе Python docs on String Formatting, чтобы помочь вам выстроить свой результат точно так, как вам хотелось бы.
Спасибо, это прекрасно работает :), могу ли я спросить вас, почему вы используете 'type' как одна из функций args? – cyberbemon
erm ... должно быть binary_type или что-то ... type - это плохой выбор имени, поскольку он уже является функцией в python ... он все равно будет работать, но не будет хорошего стиля ... поэтому я исправил его вверху :) –
Или ['str.ljust'] (http://docs.python.org/library/stdtypes.html#str.rjust) для краткости –