Python: отступ текста на выходе - PullRequest
0 голосов
/ 05 мая 2018

Я пишу сценарий, и одна из вещей, которые он может сделать, это получить определения словаря из онлайн-ресурсов, таких как: en.wiktionary.org .

Я использую символ табуляции для добавления в каждую строку отступа, чтобы отделить определения словаря от остальной части вывода, так же, как этот кавычка.


Так что в настоящее время это выглядит примерно так:

Код:

Args = input('Define: ').split()
Word = Args[0]
Type = Args[1]
Many = Args[2]

print('\n\t'+ '\"'+Word+'\" '+Type)
print('\t\t'+Define(Word,Type,Many))

Что отлично работает, когда вывод относительно короткий:

Input # 1:

Define: <b><i>dog verb 2</i></b>

Output # 1:

    "dog" verb
        1: To pursue with the intent to catch.
        2: To fasten a hatch securely.

Но не так сильно, когда текст перетекает на следующую строку:

Input # 2:

Define: <b><i>dog noun 2</i></b>

Output # 2:

    "dog" noun
        1: A domesticated carnivorous mammal (Canis familiaris) related to the foxes 
and wolves and raised in a wide variety of breeds.
        2: Any of various carnivorous mammals of the family Canidae, such as the 
dingo.

Требуемый вывод для этого последнего будет выглядеть примерно так:

Output # 3:

    "dog" noun
        1: A domesticated carnivorous mammal (Canis familiaris) related to the foxes 
        and wolves and raised in a wide variety of breeds.
        2: Any of various carnivorous mammals of the family Canidae, such as the 
        dingo.

Как я могу программным образом обеспечить такой формат с динамическим контентом?

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Я почти уверен, что вы должны определить длину текста для переноса. Я использовал длину 100.

import textwrap

print('\t\t' + '\n\t\t'.join(textwrap.wrap(Define(Word,Type,Many), width=100)))

Надеюсь, это поможет!

0 голосов
/ 05 мая 2018

Уверен, что textwrap сделает то, что вы хотите.

...