Textumbruch - Textumbruch und Ausfüllen von Python
Das Textwrap-Modul kann zum Umbrechen und Formatieren von einfachem Text verwendet werden. Dieses Modul ermöglicht die Formatierung von Text durch Anpassen der Zeilenumbrüche im Eingabeabsatz.
Die TextWrapper-Instanzattribute (und Schlüsselwortargumente für den Konstruktor) lauten wie folgt:
- width: Dies bezieht sich auf die maximal zulässige Länge der umbrochenen Linien. Der Standardwert ist 70.
- expand_tabs: Der Standardwert ist TRUE. Wenn der Wert gleich true ist, werden alle Tabulatorzeichen in der Beispieleingabe mit dieser Methode zu Leerzeichen erweitert.
- tabsize: Der Standardwert ist 8. Diese Methode erweitert alle Tabulatorzeichen im Text auf null oder mehr Leerzeichen, abhängig von der aktuellen Spalte und der angegebenen Tabulatorgröße, wenn der Wert von expand_tabs TRUE ist.
- replace_whitespace: Der Standardwert ist TRUE. Wenn der Wert true ist, ersetzt die Methode wrap() nach der Tabulatorerweiterung, jedoch vor dem Umbruch jedes Leerzeichen durch ein einzelnes Leerzeichen. Diese Leerzeichen werden ersetzt: Tabulator, Zeilenumbruch, vertikaler Tabulator, Formularvorschub und Wagenrücklauf ('\ t \ n \ v \ f \ r ').
- drop_whitespace: Der Standardwert ist TRUE. Die Leerzeichen am Anfang und Ende jeder Zeile (nach dem Umbruch, aber vor dem Einrücken) werden gelöscht, wenn der Wert auf TRUE gesetzt ist.
- initial_indent: Der Standardwert ist ''. Diese Methode stellt die angegebene Zeichenfolge der ersten Zeile der umgebrochenen Ausgabe voran.
- later_indent: Der Standardwert ist ''. Diese Methode stellt die angegebene Zeichenfolge allen Zeilen der umgebrochenen Ausgabe mit Ausnahme der ersten voran.
- Platzhalter: Der Standardwert ist '[…]'. Diese Methode hängt die Zeichenfolge am Ende des Ausgabetextes an, wenn sie abgeschnitten wurde.
- max_lines: Der Standardwert ist None. Wenn der Wert nicht None ist, enthält der Ausgabetext höchstens max_lines Zeilen mit einem Platzhalter am Ende der Ausgabe.
- break_long_words: Der Standardwert ist True. Wenn TRUE, werden Wörter, die länger als die Breite sind, so unterbrochen, dass sie in jede Zeile der angegebenen Breite passen. Wenn es FALSE ist, werden lange Wörter nicht unterbrochen und von selbst in eine Zeile gesetzt, um den Betrag zu minimieren, um den die Breite überschritten wird.
- break_on_hyphens: Der Standardwert ist True. Wenn der Wert gleich TRUE ist, erfolgt das Umbrechen in Leerzeichen und direkt nach Bindestrichen in zusammengesetzten Wörtern. Wenn der Wert gleich FALSE ist, treten Zeilenumbrüche nur in Leerzeichen auf. Sie müssen jedoch break_long_words auf FALSE setzen, wenn Sie wirklich unsichere Wörter möchten.
Vom Textwrap-Modul bereitgestellte Funktionen:
- textwrap.wrap (text, width = 70, ** kwargs) : Diese Funktion umschließt den eingegebenen Absatz so, dass jede Zeile im Absatz höchstens Zeichen breit ist. Die Wrap-Methode gibt eine Liste der Ausgabezeilen zurück. Die zurückgegebene Liste ist leer, wenn die umschlossene Ausgabe keinen Inhalt enthält. Die Standardbreite wird mit 70 angenommen.
filter_none
bearbeiten
schließenplay_arrow
Link
Helligkeit_4
Codeimport
textwrap
value
=
wrapper
=
textwrap.TextWrapper(width
=
50
)
word_list
=
wrapper.wrap(text
=
value)
for
element
in
word_list:
print
(element)
chevron_rightfilter_noneAusgabe :
Diese Funktion umschließt den Eingabeabsatz so Jede Zeile im Absatz ist höchstens breit Zeichen lang. Die Wrap-Methode gibt eine Liste von zurück Ausgangsleitungen. Die zurückgegebene Liste ist leer, wenn die Wrapped Output hat keinen Inhalt.
- textwrap.fill (text, width = 70, ** kwargs): Die praktische Funktion fill() funktioniert ähnlich wie textwrap.wrap, gibt jedoch die Daten zurück, die zu einer einzelnen, durch Zeilenumbrüche getrennten Zeichenfolge zusammengefügt wurden. Diese Funktion umschließt den einzelnen eingegebenen Absatz mit Text und gibt eine einzelne Zeichenfolge zurück, die den umschlossenen Absatz enthält.
filter_none
bearbeiten
schließenplay_arrow
Link
Helligkeit_4
Codeimport
textwrap
value
=
wrapper
=
textwrap.TextWrapper(width
=
50
)
string
=
wrapper.fill(text
=
value)
print
(string)
chevron_rightfilter_noneAusgabe :
Diese Funktion gibt die Antwort als STRING und nicht als LIST zurück.
- textwrap.dedent (text) : Mit dieser Funktion werden alle gemeinsamen führenden Leerzeichen aus jeder Zeile im Eingabetext entfernt. Auf diese Weise können Dokumentzeichenfolgen oder eingebettete mehrzeilige Zeichenfolgen verwendet werden, die am linken Rand der Anzeige ausgerichtet sind, während die Formatierung des Codes selbst entfernt wird.
Beispiel:
filter_nonebearbeiten
schließenplay_arrow
Link
Helligkeit_4
Codeimport
textwrap
wrapper
=
textwrap.TextWrapper(width
=
50
)
s
=
print
(
repr
(s))
text
=
textwrap.dedent(s)
print
(
repr
(text))
chevron_rightfilter_noneAusgabe :
'Hallo \ n Welt \ n' 'Hallo \ n Welt \ n'
- textwrap.shorten (Text, Breite, ** kwargs) : Diese Funktion die Eingabezeichenfolge ab, sodass die Länge der Zeichenfolge der angegebenen Breite entspricht. Zunächst werden alle Leerzeichen in der Zeichenfolge reduziert, indem die Leerzeichen mit einem einzigen Leerzeichen entfernt werden. Wenn die geänderte Zeichenfolge in die angegebene Zeichenfolge passt, wird sie ansonsten zurückgegeben. Die Zeichen vom Ende werden gelöscht, sodass die verbleibenden Wörter plus der Platzhalter in die Breite passen.
filter_none
bearbeiten
schließenplay_arrow
Link
Helligkeit_4
Codeimport
textwrap
sample_text
=
wrapper
=
textwrap.TextWrapper(width
=
50
)
dedented_text
=
textwrap.dedent(text
=
sample_text)
original
=
wrapper.fill(text
=
dedented_text)
print
(
'Original:\n'
)
print
(original)
shortened
=
textwrap.shorten(text
=
original, width
=
100
)
shortened_wrapped
=
wrapper.fill(text
=
shortened)
print
(
'\nShortened:\n'
)
print
(shortened_wrapped)
chevron_rightfilter_noneAusgabe :
Original: Diese Funktion umschließt den Eingabeabsatz so Jede Zeile im Absatz ist höchstens breit Zeichen lang. Die Wrap-Methode gibt eine Liste von zurück Ausgangsleitungen. Die zurückgegebene Liste ist leer, wenn die Wrapped Output hat keinen Inhalt. Verkürzt: Diese Funktion umschließt den Eingabeabsatz so Jede Zeile im Absatz ist höchstens [...] breit.
- textwrap.indent (Text, Präfix, Prädikat = Keine) : Mit dieser Funktion wird das angegebene Präfix am Anfang der ausgewählten Textzeilen hinzugefügt. Mit dem Prädikatargument kann gesteuert werden, welche Zeilen eingerückt werden.
filter_none
bearbeiten
schließenplay_arrow
Link
Helligkeit_4
Codeimport
textwrap
s
=
'hello\n\n \nworld'
s1
=
textwrap.indent(text
=
s, prefix
=
' '
)
print
(s1)
print
(
"\n"
)
s2
=
textwrap.indent(text
=
s, prefix
=
'+ '
, predicate
=
lambda
line:
True
)
print
(s2)
chevron_rightfilter_noneAusgabe :
Hallo Welt + Hallo + + + Welt
Dieser Artikel wurde von Aditi Gupta verfasst . Wenn Ihnen GeeksforGeeks gefällt und Sie einen Beitrag leisten möchten, können Sie auch einen Artikel mit Contrib.geeksforgeeks.org schreiben oder Ihren Artikel an Contribute@geeksforgeeks.org senden . Sehen Sie sich Ihren Artikel auf der GeeksforGeeks-Hauptseite an und helfen Sie anderen Geeks.
Bitte schreiben Sie Kommentare, wenn Sie etwas Falsches finden oder weitere Informationen zu dem oben diskutierten Thema teilen möchten.
Achtung Geek! Stärken Sie Ihre Grundlagen mit dem Python Programming Foundation Course und lernen Sie die Grundlagen.
Zunächst Ihre Interviewvorbereitungen Verbessern Sie Ihre Datenstrukturkonzepte mit dem Python DS- Kurs.