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:

  1. 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ßen

    play_arrow

    Link
    Helligkeit_4
    Code

    import textwrap
      
    value =
      
    wrapper = textwrap.TextWrapper(width=50)
      
    word_list = wrapper.wrap(text=value)
      
    for element in word_list:
        print(element)
    chevron_right
    
    
    filter_none
    
    

    Ausgabe :

    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.
    
  2. 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ßen

    play_arrow

    Link
    Helligkeit_4
    Code

    import textwrap
      
    value =
      
    wrapper = textwrap.TextWrapper(width=50)
      
    string = wrapper.fill(text=value)
      
    print (string)
    chevron_right
    
    
    filter_none
    
    

    Ausgabe :



    Diese Funktion gibt die Antwort als STRING und nicht als LIST zurück.
    
  3. 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_none

    bearbeiten
    schließen

    play_arrow

    Link
    Helligkeit_4
    Code

    import textwrap
      
    wrapper = textwrap.TextWrapper(width=50)
      
    s =
        
          
        
    print(repr(s))
      
    text = textwrap.dedent(s)
    print(repr(text))
    chevron_right
    
    
    filter_none
    
    

    Ausgabe :

    'Hallo \ n Welt \ n'
    'Hallo \ n Welt \ n'
    
  4. 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ßen

    play_arrow

    Link
    Helligkeit_4
    Code

    import 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_right
    
    
    filter_none
    
    

    Ausgabe :

    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.
    
  5. 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ßen

    play_arrow

    Link
    Helligkeit_4
    Code

    import 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_right
    
    
    filter_none
    
    

    Ausgabe :

    Hallo
    Welt
    + Hallo
    +
    +
    + Welt
    
  6. 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.




    Meine persönlichen Notizen arrow_drop_up