Python Stringio

Python Stringio

Uma das características essenciais do Python é sua capacidade de lidar "E/SOperações com eficiência. ““Stringio”É um módulo na biblioteca padrão do Python que permite manipular strings como se fossem arquivos. Ele fornece uma interface semelhante a um arquivo que permite ler e escrever strings na memória. Isso significa que você pode usar todos os métodos e funções que você pode usar em um objeto de arquivo, como "Read ()", "Write ()" e "Seek ()".

Neste blog do Python, forneceremos um guia detalhado sobre o Python “Stringio”Módulo usando vários exemplos.

Observação: Na versão mais recente do Python, o “Stringio”O módulo não existe, então, para usá -lo, deve ser“importado" de "io”Módulo como“io.Stringio”.

Como importar o módulo Python "Stringio"?

““StringioOs objetos são criados usando a classe "Stringio", que pode ser importada usando o seguinte código:

De IO Import stringio

Métodos "Stringio"

O "Stringio”O módulo fornece vários métodos para executar determinadas tarefas. Aqui estão alguns métodos com exemplos.

Método "write ()"

O método "write ()" é utilizado para escrever uma string para o "Stringio”Objeto. Ele aceita uma string como um argumento/parâmetro e a grava no final do buffer.

Exemplo

Aqui está um código de exemplo:

De IO Import stringio
myfile = stringio ()
meu arquivo.Write ("Python")
meu arquivo.escrever(" ")
meu arquivo.Write ("Guia")
Imprimir (myfile.Obter valor())


No código acima:

    • O "Stringio”A classe é importada através da“io”Módulo.
    • A instância de “Stringio”É criado e alocado para a variável“meu arquivo”.
    • Então o "escrever()”O método é utilizado para escrever as seqüências especificadas para o objeto“ stringio ”.
    • Por fim, o “Obter valor()”O método é usado para retornar uma representação de string do objeto semelhante a um arquivo.

Saída


O resultado acima mostra que os valores da string foram gravados para um “StringioObjeto adequadamente.

Método “Read ()”

O "ler()”O método é utilizado para ler um certo número de caracteres do objeto“ stringio ”. A sequência inteira é lida se nenhum argumento/parâmetro for fornecido.

Exemplo

Vamos ver o código de exemplo a seguir demonstrando seu uso:

De IO Import stringio
valor = stringio ("guia python")
Imprimir (valor.ler())


No trecho de código acima:

    • ““Stringio ()"É usado para criar um objeto" stringio "com a string"Guia Python”Como seu conteúdo inicial.
    • Agora, aplique o “ler()”Método para retornar todo o conteúdo do objeto como uma string.

Saída


Na saída acima, a função "read ()" lê com sucesso o conteúdo do objeto "stringio".

Método “readline ()”

Este método é utilizado para ler uma linha única/particular do objeto "stringio". Se nenhum parâmetro for entregue, ele lê a próxima linha.

Exemplo

Considere o seguinte código de exemplo:

De IO Import stringio
input = stringio ("guia python \ nlinux guia")
impressão (entrada.Leia a linha())


De acordo com o código acima:

    • O objeto "stringio" é criado com um valor de string de múltiplas linhas de "Guia do Python \ Nlinux Guide”. O particular "\ n”O personagem ilustra uma nova linha, então a string tem duas linhas de texto.
    • Um objeto que contém uma estrutura semelhante a um arquivo é lido e devolvido usando o “Leia a linha()”Método.

Saída


O resultado acima implica que a função "readline ()" lê com sucesso a primeira linha do objeto "stringio".

Método “getValue ()”

O "Obter valor() ”O método retorna todo o conteúdo do objeto“ stringio ”como uma string.

Exemplo

Aqui está um código de exemplo para você começar:

De IO Import stringio
myfile = stringio ()
meu arquivo.Write ("Python Guide")
Imprimir (myfile.Obter valor())


No bloco de código acima:

    • O "escrever()”O método é utilizado para escrever a string declarada no objeto“ stringio ”.
    • O "Obter valor()”O método é usado para obter todo o conteúdo“ stringio ”e o retorna como uma string.

Saída


O resultado acima verifica que todo o conteúdo da string foi devolvido do objeto Stringio.

Método "truncate ()"

O "truncar()”O método do módulo“ stringio ”é usado para redimensionar o tamanho do fluxo de arquivos. Após o índice fornecido, o arquivo é descartado e salvo.

Exemplo

Passe pelas linhas de código abaixo estatadas:

De IO Import stringio
arquivo = stringio ()
arquivo.Write ('Python Guide')
imprimir arquivo.Obter valor())
arquivo.procure (6)
arquivo.truncar()
imprimir arquivo.Obter valor())


No trecho de código acima:

    • Da mesma forma, o “Stringio ()”Cria uma instância da classe Stringio e a atribui à variável chamada“arquivo”.
    • O "arquivo.escrever()”Método grava a string no objeto Stringio do arquivo.
    • O "Obter valor()”A função retorna o conteúdo do objeto de arquivo como uma string.
    • O "arquivo.procurar()”A função leva o número“ 6 ”como argumento e move o ponteiro do arquivo para a posição correspondente no objeto de arquivo.
    • O "arquivo.truncar()”Exclui tudo após a posição atual do ponteiro do arquivo I.e., ““6”No objeto de arquivo.
    • O "Obter valor()”A função é usada novamente para retornar o conteúdo atualizado do objeto de arquivo.

Saída


No resultado acima, o conteúdo do objeto "stringio" foi truncado a partir da posição específica.

Métodos "Stringio" e "CSV"

O "Stringio"É útil para criar"CSV”Arquivos na memória sem escrevê -los no disco. Isso pode ser útil nos casos em que você precisa processar dados antes de gravá -los em um arquivo ou quando você não deseja criar um arquivo físico.

Exemplo

A seguir, um exemplo de como "Stringio" pode ser usado para criar um arquivo "CSV":

importar CSV
De IO Import stringio
dados = [["Nome", "Age"], ["Joseph", 23], ["Lily", 12]]
output = stringio ()
Writer = CSV.escritor (saída)
escritor.Writerws (dados)
Imprimir (saída.Obter valor())


No código acima:

    • Em primeiro lugar, o “CSV”Módulo é importado e o“Stringio”O objeto é criado.
    • O "Lista de listas”Contém algumas amostras que são inicializadas no programa.
    • O "CSV.escritor()”É usado para escrever dados de CSV em um arquivo ou um objeto semelhante a um arquivo.
    • O "escritor.Writerws ()”O método é usado para escrever a lista de dados no objeto de saída, que armazena os dados do CSV como uma string na memória.
    • Finalmente, o "Obter valor()”O método é aplicado para retornar os dados do CSV como uma string.

Saída


Os arquivos CSV na saída acima foram criados na memória sem ser escrito para disco.

Diferenças entre Stringio e outros tipos de string

"Stringio" é semelhante a outros tipos de string em python, como "str" ​​e "bytes", mas com algumas diferenças importantes. A seguir, são apresentadas algumas das diferenças entre o módulo Stringio e outros tipos de string:

    • "Stringio" é um objeto mutável, enquanto as cordas regulares são imutáveis.
    • "Stringio" pode ser usado como um objeto semelhante a um arquivo. Isso significa que você pode usar "stringio" para ler e escrever strings para a memória da mesma maneira que faria com um objeto de arquivo.

Vantagens e desvantagens de Stringio

Os seguintes são as vantagens e desvantagens do módulo Stringio:

    • A principal vantagem de "stringio" é que ele permite manipular strings como se fossem arquivos, o que pode ser útil para certos casos de uso, como arquivos CSV na memória ou armazenamento de logs.
    • A principal desvantagem de "stringio" é que ela é mais lenta que outros métodos de E/S de arquivo e pode usar muita memória.

Conclusão

Em Python, o “Stringio”O módulo é usado para manipular strings como se fossem arquivos. Ele pode ser usado para arquivos CSV na memória, armazenando logs ou processando dados de texto na memória. Python's “Stringio"O módulo fornece vários métodos como" read () "," write () "e" truncate () ", etc. Para realizar determinadas operações em Python. No entanto, esses métodos são mais lentos que outros métodos de E/S de arquivo e podem usar muita memória se não forem usados ​​corretamente. Este blog ofereceu um guia detalhado sobre o módulo "stringio" através de vários exemplos.