Strumenti di Elaborazione del Testo - Strumenti di Elaborazione del Testo

Scopo
Versione Python

La classe string è il più ovvio strumento per l'elaborazione del testo disponibile ai programmatori Python, ma vi è abbondanza di altri strumenti nella libreria standard per facilitare la manipolazione del testo.

Il Modulo string

Codice "vecchia maniera" utilizzerà le funzioni dal modulo string, al posto dei metodi degli oggetti stringa. Esiste un equivalente metodo per ogni funzione del modulo, e l'uso delle funzioni è deprecato per nuovo codice.

Codice più nuovo potrebbe usare string.Template come semplice modo per parametrizzare le stringhe al di là delle caratteristiche delle classi string oppure unicode. Sebbene non ricco di caratteristiche al pari dei framework web o dei moduli di estensione disponibili in PyPI, string.Template è un buon compromesso per template modificabili dall'utente dove i valori dinamici devono essere inseriti in blocchi di testo statico.

Testo in Input

Leggere da un file è sufficientemente facile, ma se si sta scrivendo un filtro riga-per-riga con il modulo fileinput è ancora più facile. Le API di fileinput eseguono le chiamate per iterare sul generatore input(), elaborando ogni riga non appena letta. Il generatore gestisce l'elaborazione degli argomenti da riga di comando per i nomi di file oppure recede per leggere direttamente da sys.stdin. Il risultato è uno strumento flessibile che può essere eseguito direttamente su di un file o come parte di una pipeline

Testo in Output

Il modulo textwrap comprende strumenti per la formattazione del testo da paragrafi limitando la larghezza dell'output, aggiungendo indentazione, ed inserendo interruzioni di riga per separare le righe in modo consistente.

Confrontare Valori

La libreria standard comprende due moduli dedicati al confronto di valori di testo al di là delle funzionalità built-in di confronto per eguaglianza ed ordinamento supportate dagli oggetti stringa. re fornisce una libreria di espressioni regolari completa, per la gran parte implementata in C per le prestazioni. Le espressioni regolari sono adatte per trovare sottostringhe all'interno di un più vasto insieme di dati, per confrontare stringhe rispetto ad un modello (oppure rispetto ad un'altra stringa fissa), ed una moderata elaborazione.

difflib, d'altro canto, mostra le effettive differenze tra sequenze di testo in relazione alle parti aggiunte, rimosse o modificate. L'output delle funzioni di comparazione in difflib può essere usato per fornire feedback più dettagliato all'utente sul dove si sono verificati cambiamenti nei due input, sul come un documento sia stato modificato nel tempo ecc.