Módulo Python IO

Módulo Python IO
Podemos lidar com os processos de entrada e saída relacionados ao arquivo com a ajuda do módulo Python IO. A biblioteca padrão python vem com este módulo. Utilizando o módulo IO tem o benefício de nos permitir aprimorar a capacidade de permitir a escrita nos dados Unicode devido às classes e métodos que são acessíveis.

No Python, podemos utilizar o módulo de IO para realizar as operações de fluxo e buffer de várias maneiras. Neste artigo, vamos explicar as duas classes comuns úteis do módulo de IO que são "Bytesio" e "Stringio". Estes podem ser acessados ​​usando o “io.Bytesio "e" io.Stringio ”.

Exemplo 1: Utilizando a classe Python Bytesio

Quando somos obrigados a manter os dados na forma de bytes no buffer na memória, o módulo Python IO nos fornece uma classe "Bytesio" que nos permite usar o "IO.Método bytesio () ”para operar os dados como bytes.

Criamos o seguinte programa de amostra para demonstrar a manipulação de bytes no buffer:

O “io.O método bytesio () ”pertence ao módulo de Python“ io ”. Para praticar esse método em nosso programa, devemos apresentar a biblioteca que o contém. Este módulo nos permite usar as operações principais de entrada/saída no Python. O código inicia importando a biblioteca Python necessária, que é "IO", roteirizando a linha de código como "importar io".

Depois de importar o módulo, invocamos o “io.Bytesio () ”Método da biblioteca“ IO ”. Nos colchetes deste método, usamos o prefixo "B", que se refere a passar os bytes. Este prefixo "B" significa que o que quer que seja escrito com antecedência seja armazenado como um fluxo de bytes no buffer. Então, fornecemos uma sequência de bytes como “Este é um fluxo de bytes. \ ndo você entende?”Um objeto de arquivo“ BStream ”é criado para lidar com este fluxo de bytes e atribuir o fluxo de bytes que é gerado a partir do“ IO.Bytesio () ”método. Agora, para imprimir o conteúdo contido no buffer na janela de saída, temos um método do kit de ferramentas "IO" como "FileObject.Obter valor()". O método "print ()" é chamado. Este método exibe a entrada fornecida.

Como entrada deste método, o "getValue ()" é passado com o objeto de arquivo como "BStream.Obter valor()". Este método recebe o conteúdo mantido no buffer e a função "print ()" acaba colocando o fluxo de bytes resultante na tela. Por fim, para fechar o buffer, o “FileObject.Método Close () ”é utilizado. O nome do objeto de arquivo "BStream" com o método "Close ()" é mencionado. Isso fecha o buffer de quaisquer operações subsequentes e libera o armazenamento capturado para o buffer.

O resultado gerado nos mostra um fluxo de bytes exibido no terminal que é recuperado do buffer.

Exemplo 2: Utilizando a classe Python Stringio

O outro módulo Python principal é "stringio". Isso é semelhante ao "bytesio" com a exceção de que ele executa as operações de entrada/saída nos dados da string em vez de dados de bytes. Às vezes, é necessário ler ou gerar os dados na memória, em vez de nos arquivos reais que o sistema operacional pode acessar. A classe Python Stringio é útil neste caso.

Podemos exercer as diferentes operações relacionadas a arquivos neste módulo. A primeira prática é criar um objeto de arquivo e depois executar as operações de arquivo nele. O objeto de arquivo é criado implementando o snippet de código fornecido no seguinte:

Vamos primeiro entender este bloco de código.

Aqui, importamos o módulo "IO" para o programa para que possamos acessar qualquer um dos métodos que ele contém. Na próxima linha do programa, declaramos uma variável de string "Newstring" que é inicializada pela string: "Estamos aprendendo a usar o módulo Stringio no Python.”Agora, criamos um objeto" stringio ", passando a string que é criada anteriormente. Como este módulo pertence ao kit de ferramentas “io”, temos que mencioná -lo antes do objeto Stringio como “IO.Stringio () ”.Dentro de seus colchetes, a corda que criamos é passada. Se não passarmos uma string para esta "stringio", ela começará a vazio. Um objeto de arquivo “file_obj” é criado para manter os dados da string de resultado do “stringio” e pode ser tratado exatamente como um arquivo. As operações relacionadas a arquivos podem ser aplicadas a este objeto de arquivo agora.

A primeira operação de arquivo que faremos aqui é ler o conteúdo que está inicialmente presente no arquivo de objeto gerado. A seção anterior do código é escrita para realizar isso.

Para interpretar os dados que o arquivo está carregando, temos que lê -los. O “FileObject.o método leia () ”nos permite ler o conteúdo do arquivo. Como podemos tratar o objeto Stringio da mesma maneira que um arquivo, podemos aplicar o método "read ()" do arquivo. Assim, invocamos o “FileObject.leia () ”método. O nome do objeto de arquivo é "FILE_OBJ", que especificamos com o método "read ()". Os dados recuperados devem ser mantidos em variável "x". Finalmente, para ver o conteúdo de leitura do arquivo no terminal, a variável "x" é passada para a função "print ()". O método "print ()" coloca a saída em exibição, que é armazenada na variável de entrada fornecida.

O conteúdo do arquivo é exibido na tela, conforme exibido no instantâneo anterior que inserimos inicialmente ao criar o arquivo de objeto.

Da mesma maneira, podemos escrever uma nova string para este objeto de arquivo. Para gravar no arquivo, precisamos usar o arquivo de método "write ()" e escrever a string desejada com o conteúdo do arquivo existente. O código a seguir ajuda a compreender sua execução:

Neste bloco de código, o Python “FileObject.O método write () ”é utilizado para escrever uma string no arquivo. O nome do objeto de arquivo "FILE_OBJ" é fornecido com o método "write ()" e a string desejada é inserida em seus aparelhos de função. A string que adicionamos é “esses são novos dados de string.”O conteúdo atualizado do arquivo pode ser visualizado apenas quando lemos o arquivo. Mas antes de ler todo o conteúdo do objeto de arquivo, o cursor precisa ser movido para o 0º posição de índice para que possa ler os dados anteriores com a nova string escrita também.

Para alterar a posição do cursor, o método "Seek ()" é invocado com "0" como seu valor de argumento. Este "0" significa que o cursor começa a ler do ponto inicial. Agora revisamos o conteúdo do arquivo usando o arquivo python, “read ()”. O nome do objeto de arquivo como "file_obj" é fornecido com o método "read ()" para o conteúdo atualizado que é armazenado neste objeto de arquivo. Para manter os dados recuperados, uma variável "y" é gerada. Eventualmente, para colocar esse conteúdo no terminal, a função "print ()" entra em prática aqui. Este método tem duas entradas a serem processadas - uma declaração como "o novo conteúdo é:" e, em seguida, a variável "y" para ler o conteúdo na janela de saída.

A execução do programa produziu os dados resultantes na tela. Aqui, podemos ver que a nova string que escrevemos é anexada ao conteúdo existente.

Conclusão

O módulo Python IO nos fornece a capacidade de executar as operações de entrada/saída nos dados fornecidos. Este artigo discutiu as duas classes principais do módulo de IO - Bytesio e Stringio. Para ambos os módulos, as classes são elaboradas com códigos práticos de python que são implementados na ferramenta Spyder. A primeira demonstração executou a classe "Bytesio", então a segunda ilustração funcionou nos diferentes métodos que podem ser realizados usando a classe "stringio".