Come utilizzare il modulo TextWrap in Python

Come utilizzare il modulo TextWrap in Python
Questo articolo coprirà una guida sull'uso del modulo "TextWrap" in Python. Come suggerisce il nome, questo modulo può essere utilizzato per "avvolgere" il testo in modo che le linee o le frasi possano essere adattate all'interno dei vincoli di lunghezza predefiniti. Questo di solito viene fatto accorciando un pezzo di testo e spostando le parti più lunghe nella riga successiva in modo che tutte le linee aderiscano ai limiti del personaggio. L'uso del modulo TextWrap può essere meglio compreso attraverso esempi. Di seguito sono riportati alcuni campioni di codice che illustrano l'uso del modulo TextWrap e dei suoi metodi. Questi campioni di codice vengono testati con Python 3.9.5 su Ubuntu 21.04.

Testo di avvolgimento usando una soglia del limite di carattere

Dai un'occhiata al campione del codice di seguito:

Importa TextWrap
para = "Lorem ipsum dolor sit amet, contipiscing élit di ConsecTur, sed do eiusmod temporario incididunt ut labore et dolore magna aliqua."
avvolto_para = textWrap.avvolgimento (para)
Stampa (avvolto_para)
per la linea in avvolto_para:
stampa (riga, len (linea))

La prima istruzione importa il modulo "TextWrap". La variabile "para" contiene un pezzo di testo che verrà avvolto in più righe. Successivamente il metodo "avvolgimento" dal modulo TextWrap viene chiamato fornendo la variabile PARA come argomento. Questo metodo viene utilizzato per avvolgere e dividere il testo in più righe. Le due istruzioni "stampa" mostrano l'output del testo avvolto.

Dopo aver eseguito il campione di codice sopra, è necessario ottenere il seguente output:

['Lorem ipsum dolor sit amet, contipiscing elit adipiscing, sed do', 'eiusmod tempo temporale incididunt ut labore et dolore magna aliqua.']
Lorem ipsum dolor sit amet, contipiscing élit di Consecttur, sed do 63
eiusmod temporario incididunt ut labore et dolore magna aliqua. 59

Il metodo Wrap restituisce un elenco di paraigenza, come mostrato nella prima riga dell'output. Puoi eseguire una varietà di operazioni nell'elenco per presentare il testo in qualsiasi modo desideri. Le ultime due righe nell'output mostrano l'output di singole linee segmentate e il loro conteggio dei caratteri. Per impostazione predefinita, il metodo Wrap applica un limite di carattere di 70 caratteri. È possibile modificare questo limite fornendo un ulteriore argomento "larghezza" con il tuo valore personalizzato, come mostrato nel campione di codice di seguito:

Importa TextWrap
para = "Lorem ipsum dolor sit amet, contipiscing élit di ConsecTur, sed do eiusmod temporario incididunt ut labore et dolore magna aliqua."
avvolto_para = textWrap.avvolgimento (para, larghezza = 90)
Stampa (avvolto_para)
per la linea in avvolto_para:
stampa (riga, len (linea))

Con il limite di carattere di 90 caratteri ora, il campione di codice sopra ora produce un output diverso:

['Lorem ipsum dolor sit amet, contipiscing élit di consectur, sed do eiusmod tempo tempora.']
Lorem ipsum dolor sit amet, contipiscing élit, sed do eiusmod tempo temporale
Ut Labrore et Dolore Magna Aliqua. 33

Usando il metodo di riempimento per produrre un pezzo di testo avvolto

Se non si desidera un elenco di testo segmentato e si desidera utilizzare direttamente il testo multi-riga avvolto, è possibile utilizzare il metodo "riempimento" disponibile nel modulo TextWrap.

Importa TextWrap
para = "Lorem ipsum dolor sit amet, contipiscing élit di ConsecTur, sed do eiusmod temporario incididunt ut labore et dolore magna aliqua."
avvolto_para = textWrap.riempimento (para, larghezza = 90)
Stampa (avvolto_para)

Dopo aver eseguito il codice sopra il campione del codice, è necessario ottenere il seguente output:

Lorem ipsum dolor sit amet, contipiscing élit, sed do eiusmod tempo temporale
Ut Labrore et Dolore Magna Aliqua.

Il metodo di riempimento separa ciascuna linea segmentata con un carattere di nuova linea "\ n". È un metodo di convenienza incluso nel modulo TextWrap. È possibile ottenere lo stesso effetto utilizzando il metodo avvolgente unendo le linee segmentate nell'elenco usando il carattere "\ n".

Importa TextWrap
para = "Lorem ipsum dolor sit amet, contipiscing élit di ConsecTur, sed do eiusmod temporario incididunt ut labore et dolore magna aliqua."
avvolto_para = "\ n".Join (TextWrap.avvolgimento (para, larghezza = 90))
Stampa (avvolto_para)

Accorciamento o troncamento del testo

È possibile troncare o abbreviare il testo utilizzando il metodo "Shorten" disponibile nel modulo TextWrap. Taglierà il testo a un particolare limite di carattere specificato come argomento. Alla fine del testo, verranno aggiunti tre punti (ellipsi) per indicare che questo è solo un breve riassunto del testo e non un paragrafo o una frase completi. Si noti che il metodo di accorciamento potrebbe non funzionare correttamente con testi che non contengono parole separate da spazio adeguato. Se ci sono più spazi bianchi tra le parole, saranno ridotti a un singolo spazio bianco.

Dai un'occhiata al campione di codice di seguito:

Importa TextWrap
para = "Lorem ipsum dolor sit amet, contipiscing élit di ConsecTur, sed do eiusmod temporario incididunt ut labore et dolore magna aliqua."
avvolto_para = textWrap.Shorten (para, larghezza = 90)
Stampa (avvolto_para)

Il codice è piuttosto semplice. Si chiama il metodo di corruzione fornendo la variabile PARA come argomento obbligatorio e specifica un limite di carattere. Dopo aver eseguito il campione di codice sopra, è necessario ottenere il seguente output:

Lorem ipsum dolor sit amet, contipiscing élit di Consectur, sed do eiusmod temporali […]

Aggiungi e rimuovi il rientro

È possibile utilizzare il metodo "dedent" per rimuovere e "rientro" per aggiungere il trampolino di guida a ciascuna riga in un pezzo di testo. Il campione di codice seguente mostra l'utilizzo del metodo Dedent:

Importa TextWrap
para = "Lorem ipsum dolor sit amet, contipiscing élit di ConsecTur, sed do eiusmod temporario incididunt ut labore et dolore magna aliqua.
Sed do eiusmod tempo temporario ut labore et dolore magna aliqua."
Stampa (para)
avvolto_para = textWrap.Dedent (para)
Stampa (avvolto_para)

La variabile para ora contiene due righe, ognuna con una principale rientranza di un carattere di scheda (circa quattro spazi). Stringa avvolta in triple citazioni che conservano la spaziatura e queste stringhe sono presentate "così come sono" senza modifiche e senza sfuggire a caratteri speciali. Il metodo dedent viene quindi chiamato fornendolo la variabile paragrafo come argomento. Dopo aver eseguito il campione di codice sopra, è necessario ottenere il seguente output:

Lorem ipsum dolor sit amet, contipiscing élit, sed do eiusmod temporario incididunt ut labore et dolore magna aliqua.
Sed do eiusmod tempo temporario ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, contipiscing élit, sed do eiusmod temporario incididunt ut labore et dolore magna aliqua.
Sed do eiusmod tempo temporario ut labore et dolore magna aliqua.

Le prime due righe mostrano il testo originale con le indentazioni principali. Le ultime due righe in output mostrano le stesse due righe con le indentazioni principali rimosse.

Il metodo "rientro" funziona in modo simile, ma ora devi specificare una stringa di rientro leader o un prefisso come argomento extra.

Importa TextWrap
Para = "Lorem ipsum dolor sit amet, contipiscing elit contecetur.
Sed do eiusmod tempo temporario ut labore et dolore magna aliqua."
Stampa (para)
avvolto_para = textWrap.rientro (para, "\ t")
Stampa (avvolto_para)

Qui il carattere della scheda "\ t" viene utilizzato per aggiungere una scheda prima di ogni riga nel testo. Dopo aver eseguito il campione di codice sopra, è necessario ottenere il seguente output:

Lorem ipsum dolor sit Amet, Consecttur Adipiscing Elit.
Sed do eiusmod tempo temporario ut labore et dolore magna aliqua.
Lorem ipsum dolor sit Amet, Consecttur Adipiscing Elit.
Sed do eiusmod tempo temporario ut labore et dolore magna aliqua.

Conclusione

Il modulo TextWrap fornisce una serie di metodi convenienti che consentono di abbreviare il testo in vari modi. L'uso di questi metodi nei paragrafi può migliorare la loro formattazione e leggibilità, specialmente nelle interfacce utente con vincoli di spazio.