Python Stringio

Python Stringio

Una delle caratteristiche essenziali di Python è la sua capacità di gestire "I/o"Operazioni in modo efficiente. "Stringio"È un modulo nella libreria standard di Python che ti consente di manipolare le stringhe come se fossero file. Fornisce un'interfaccia simile a un file che consente di leggere e scrivere stringhe in memoria. Ciò significa che è possibile utilizzare tutti i metodi e le funzioni che è possibile utilizzare su un oggetto file, come "read ()", "write ()" e "seek ()".

In questo blog di Python, forniremo una guida approfondita sul Python "Stringio"Modulo usando numerosi esempi.

Nota: Nell'ultima versione di Python, la "Stringio"Il modulo non esiste, quindi per usarlo, deve essere"importato" dal "io"Modulo come"io.Stringio".

Come importare il modulo Python "Stringio"?

"Stringio"Gli oggetti vengono creati utilizzando la classe" Stringio ", che può essere importata utilizzando il seguente codice:

da IO import Stringio

Metodi "Stringio"

IL "Stringio"Il modulo fornisce diversi metodi per eseguire determinate attività. Ecco alcuni metodi con esempi.

Metodo "Write ()"

Il metodo "write ()" viene utilizzato per scrivere una stringa su "Stringio"Oggetto. Accetta una stringa come argomento/parametro e la scrive alla fine del buffer.

Esempio

Ecco un codice di esempio:

da IO import Stringio
myFile = Stringio ()
il mio file.Scrivi ("Python")
il mio file.scrivere(" ")
il mio file.Scrivi ("Guida")
Stampa (myfile.getValue ())


Nel codice sopra:

    • IL "Stringio"La classe viene importata tramite"io"Modulo.
    • L'istanza di “Stringio"È creato e assegnato alla variabile"il mio file".
    • Poi il "scrivere()"Il metodo viene utilizzato per scrivere le stringhe specificate sull'oggetto" Stringio ".
    • Infine, il "getValue ()"Il metodo viene utilizzato per restituire una rappresentazione stringa dell'oggetto simile a un file.

Produzione


Il risultato sopra mostra che i valori della stringa sono stati scritti su "Stringio"Oggetto in modo appropriato.

Metodo "Read ()"

IL "Leggere()"Il metodo viene utilizzato per leggere un certo numero di caratteri dall'oggetto" Stringio ". L'intera stringa viene letta se non viene fornito alcun argomento/parametro.

Esempio

Panoramiamo il seguente codice di esempio che dimostra il suo utilizzo:

da IO import Stringio
Value = Stringio ("Guida Python")
Stampa (valore.Leggere())


Nel frammento di codice sopra:

    • "Stringio ()"Viene utilizzato per creare un oggetto" Stringio "con la stringa"Guida Python"Come contenuto iniziale.
    • Ora, applica il "Leggere()"Metodo per restituire l'intero contenuto dell'oggetto come stringa.

Produzione


Nell'output sopra, la funzione "read ()" legge correttamente il contenuto dall'oggetto "Stringio".

Metodo "readline ()"

Questo metodo viene utilizzato per leggere una riga singola/particolare dall'oggetto "Stringio". Se non viene consegnato alcun parametro, legge la riga successiva.

Esempio

Considera il seguente codice di esempio:

da IO import Stringio
input = Stringio ("Guida Python \ Nlinux Guide")
Stampa (input.linea di lettura())


Secondo il codice sopra:

    • L'oggetto "Stringio" viene creato con un valore stringa a più righe di "Guida Python \ Nlinux Guide". Il particolare "\N"Il personaggio illustra una nuova riga, quindi la stringa ha due righe di testo.
    • Un oggetto contenente una struttura simile a un file viene letto e restituito usando il "linea di lettura()" metodo.

Produzione


Il risultato di cui sopra implica che la funzione "readline ()" legge correttamente la prima riga dall'oggetto "Stringio".

Metodo "getValue ()"

IL "getValue() "Il metodo restituisce l'intero contenuto dell'oggetto" Stringio "come stringa.

Esempio

Ecco un codice di esempio per iniziare:

da IO import Stringio
myFile = Stringio ()
il mio file.Scrivi ("Guida Python")
Stampa (myfile.getValue ())


Nel blocco del codice sopra:

    • IL "scrivere()"Il metodo viene utilizzato per scrivere la stringa dichiarata sull'oggetto" Stringio ".
    • IL "getValue ()"Il metodo viene utilizzato per ottenere tutto il contenuto di" Stringio "e lo restituisce come una stringa.

Produzione


Il risultato di cui sopra verifica che l'intero contenuto di stringa è stato restituito dall'oggetto Stringio.

Metodo "Truncate ()"

IL "troncare()"Metodo del modulo" Stringio "viene utilizzato per ridimensionare la dimensione del flusso di file. Dopo l'indice fornito, il file viene eliminato e salvato.

Esempio

Passare attraverso le righe di codice di seguito:

da IO import Stringio
file = Stringio ()
file.Scrivi ("Guida Python")
stampa file.getValue ())
file.Cerca (6)
file.troncare()
stampa file.getValue ())


Nel frammento di codice sopra:

    • Allo stesso modo, il "Stringio ()"Crea un'istanza della classe Stringio e la assegna alla variabile denominata"file".
    • IL "file.scrivere()"Il metodo scrive la stringa sull'oggetto file Stringio.
    • IL "getValue ()"La funzione restituisce il contenuto dell'oggetto file come stringa.
    • IL "file.cercare()"La funzione prende il numero" 6 "come argomento e sposta il puntatore del file sulla posizione corrispondente nell'oggetto file.
    • IL "file.troncare()"Elimina tutto dopo la posizione del puntatore del file corrente i.e., "6"Nell'oggetto file.
    • IL "getValue ()"La funzione viene nuovamente utilizzata per restituire il contenuto aggiornato dell'oggetto file.

Produzione


Nel risultato di cui sopra, il contenuto dell'oggetto "Stringio" è stato troncato dalla posizione specifica.

Metodi "Stringio" e "CSV"

IL "Stringio"È utile per creare"CSV"Files in memoria senza scriverli sul disco. Ciò può essere utile nei casi in cui è necessario elaborare i dati prima di scriverli in un file o quando non si desidera creare un file fisico.

Esempio

Di seguito è riportato un esempio di come "Stringio" può essere utilizzato per creare un file "CSV":

Importa CSV
da IO import Stringio
data = [["nome", "età"], ["Joseph", 23], ["Lily", 12]]
output = Stringio ()
Writer = CSV.Writer (output)
scrittore.WriteRows (dati)
Stampa (output.getValue ())


Nel codice sopra:

    • In primo luogo, il "CSV"Il modulo viene importato e il"Stringio"L'oggetto viene creato.
    • IL "Elenco di elenchi"Contiene alcuni campioni inizializzati nel programma.
    • IL "CSV.scrittore()"Viene utilizzato per scrivere i dati CSV su un file o un oggetto simile a un file.
    • IL "scrittore.writerows ()"Il metodo viene utilizzato per scrivere l'elenco dei dati all'oggetto output, che memorizza i dati CSV come stringa in memoria.
    • Finalmente il "getValue ()"Il metodo viene applicato per restituire i dati CSV come stringa.

Produzione


I file CSV nell'output sopra sono stati creati in memoria senza essere scritti su disco.

Differenze tra Stringio e altri tipi di stringa

"Stringio" è simile ad altri tipi di stringhe in Python, come "ST" e "Byte", ma con alcune differenze chiave. Di seguito sono riportate alcune delle differenze tra il modulo Stringio e altri tipi di stringa:

    • "Stringio" è un oggetto mutabile, mentre le stringhe regolari sono immutabili.
    • "Stringio" può essere usato come oggetto simile a un file. Ciò significa che è possibile utilizzare "Stringio" per leggere e scrivere stringhe in memoria allo stesso modo in cui lo faresti con un oggetto file.

Vantaggi e svantaggi di Stringio

I seguenti sono i vantaggi e gli svantaggi del modulo Stringio:

    • Il vantaggio principale di "Stringio" è che ti consente di manipolare le stringhe come se fossero file, il che può essere utile per determinati casi d'uso come file CSV in memoria o archiviazione.
    • Lo svantaggio principale di "Stringio" è che è più lento di altri metodi I/O del file e può usare molta memoria.

Conclusione

In Python, il "Stringio"Il modulo viene utilizzato per manipolare le stringhe come se fossero file. Può essere utilizzato per file CSV in memoria, archiviazione di registri o elaborazione dei dati di testo in memoria. Python's "Stringio"Modulo fornisce vari metodi come" read () "," write () "e" truncate () ", ecc. Per eseguire determinate operazioni in Python. Tuttavia, questi metodi sono più lenti rispetto ad altri metodi I/O del file e possono usare molta memoria se non utilizzati correttamente. Questo blog ha offerto una guida approfondita sul modulo "Stringio" attraverso una serie di esempi.