2016-08-04 6 views
0

Имея трудное понимание вариантов форматирования. в частности, замены строк. Если у меня есть действительно длинное имя файла python, как я могу его отключить, чтобы все было в порядке?Форматировщик модуля протоколов Python

formatter = logging.Formatter('%(asctime)s %(name)-15s %(threadName)-10s %(levelname)-8s %(message)s') 

в то время как я понимаю, что я могу сделать -15s часть больше, чтобы дать мне больше пространства между ними, как я могу получить его, чтобы отрезать длинное имя сказать «this_is_a_test_ok.py», а не просто дополняя все из? Я хочу, чтобы мой конечный результат был очень столбчатым.

+0

Просто убедитесь, что я вас понимаю: вы хотите напечатать только первые символы 'n' строки длины' m' с 'm> n', правильно? Для 'n = 4' и строки' abcde' вы ожидаете, что в этом случае будет напечатано 'abcd'. –

+0

Правильно то, что я хотел бы знать. – shawn

ответ

1

Просто тестировал:

formatter = logging.Formatter('%(asctime)s %(name)-15.5s %(threadName)-10s %(levelname)-8s %(message)s') 

Усекает имя лесорубов до 5 символов. Объединить это с дополнением - еще один вопрос.

+0

Получил дополнение. Я могу добавить его к ответу, если вы не хотите играть за себя. – user3469861

+0

Мне бы очень хотелось увидеть обработанную прокладку. Я не мог этого сделать:/ –

+0

Извините, что не публиковал решение для комбинирования отступов и усечений, но в противном случае вы могли бы пропустить [this] (https://pyformat.info/) отличный чит-лист для лучших практик в струнных- форматирование. У этого раздела есть определенная проблема. Я бы хотел, чтобы автор мог быть платным автором официального отдела документации python. – user3469861

 Смежные вопросы

  • Нет связанных вопросов^_^