Vamos falar sobre o arquivo, ah, o que quer dizer, você verá muito isso na programação.
IO significa entrada e saída.
Veja, na maioria das vezes as máquinas não estão se comunicando em apenas um ambiente, por exemplo, até
agora escrevemos nosso código em, digamos, um editor como um texto sublime que tenho aqui ou PAE Charm
ou um Reppel online.
Mas geralmente você deseja interagir com diferentes partes do sistema.
Talvez você queira falar com outro site.
Talvez você queira falar com algo que está em sua área de trabalho, talvez um arquivo, talvez duas máquinas
diferentes estejam se comunicando.
Talvez você esteja falando com um banco de dados.
Simplesmente quero dizer, ei, quero que você insira algo do mundo externo e envie algo para o mundo
externo.
E uma das maneiras mais comuns de usarmos coisas como IO é através da leitura de arquivos, você pode
pensar sobre Python e como não seria bom se pudéssemos escrever um script que comprime imagens enquanto
precisamos de IO, então eu preciso entrada uma imagem e depois preciso atualizar o compactado.
Imagem.
Talvez eu queira trabalhar com um arquivo PDF e talvez adicionar uma marca d'água a todas as minhas páginas PDF.
Bem, então inserimos um PDF e geramos uma nova versão de um PDF.
Portanto, esta é uma tarefa muito comum que vemos muito.
E ler e escrever arquivos é uma ferramenta muito importante em nosso cinto de ferramentas.
E, a propósito, temos um projeto chegando onde vamos usar isso com o PDF.
Mas, por enquanto, como podemos fazer essa saída de entrada de arquivo com Python?
Bem, Python tem uma função embutida que nos permite abrir e gravar em arquivos.
E é simplesmente chamado de open, nice and easy, portanto, usando open, podemos fazer algo assim, posso criar um
arquivo de texto de amostra em nosso desktop, então vou usar meu terminal aqui.
Portanto, se olharmos para o diretório de trabalho atual, estou em uma área de trabalho, se você estiver no Windows,
talvez seja necessário executar alguns comandos diferentes aqui.
Mas, a esta altura, você deve estar bem familiarizado com a possibilidade de criar um arquivo se desejar.
Agora posso fazer isso manualmente ou no meu terminal.
Eu realmente posso fazer.
Se você estiver em um Mac, basta tocar em e direi texto de ponto de teste.
Então, se eu fizer outra coisa aqui, você verá que antes tenho um arquivo de texto de teste e um script.
E novamente, só para verificar, se eu for para a minha área de trabalho.
Sim, eu tenho esses dois aqui, perfeitos agora aqui, podemos simplesmente dizer em nosso arquivo de script.
Abrir.
E o nome do arquivo no nosso caso, é test heartstring test, dot text assim.
Agora, posso atribuir isso a uma variável, chamando-a de meu arquivo.
E agora temos, bem, o objeto de arquivo, então vamos verificar se eu faço aqui, imprimir meu arquivo.
Vamos ver o que acontece.
Vou executar meu código.
Então, digamos Python três e, em seguida, execute o script.
Tudo bem.
Eu recebo um objeto, um envoltório de tecido, recebo o nome, que é text's I get mowed, que não tenho certeza do que é
ainda, vamos aprender e, em seguida, codificações, que é como esse arquivo é codificado, que é UTF oito.
A maioria dos arquivos são geralmente codificados em UTF oito.
Certo, então como posso realmente ler este arquivo?
Tudo o que precisamos fazer é meu arquivo ter um ponto.
Leia o método nele para que se eu executar isso agora.
Bem, recebo um espaço em branco porque não há nada neste texto de teste, então vamos escrever algo.
Vou abrir este arquivo e o texto sublime e apenas escrever: Oi, meu nome é Andre Agassi.
Eu fiquei muito, muito criativo com este.
Bom trabalho.
Tudo bem, vamos voltar.
Então, agora, se eu ler este arquivo.
Olha só, consigo ler oi, meu nome é Andre, e aí está.
Eu li meu arquivo.
Legal e fácil.
Agora, se eu executar isso de novo, vamos.
Leia várias vezes.
Se eu clicar, corra.
Consigo ler da primeira vez, mas das duas vezes não leio nada.
Por que é que?
Bem, esta função aberta tem a ideia de um cursor.
Ou seja, você só pode ler o arquivo uma vez.
E depois de aberto, ele retorna um objeto de arquivo.
E o conteúdo do arquivo que você pode ler e o conteúdo do arquivo são lidos com um cursor exatamente
como você vê aqui um por um e impressos na tela.
Mas ao final desta primeira leitura, o cursor estará no final do arquivo.
Então, agora, quando ele tentar ler, o arquivo será finalizado e nada será deixado lá.
Então, a maneira de contornar isso é fazer algo assim.
Simplesmente dizemos meu arquivo ponto seke, que move nosso cursor para qualquer índice que desejamos em nosso caso, buscar zero.
Então, se eu executar isso agora, aí está.
E se eu mover o cursor para trás.
E eu salvo e executo isso.
Tudo bem, está muito melhor agora.
E isso é apenas para demonstrar que o Python usa essa ideia de cursor para ler um arquivo.
Agora, outra coisa única que posso fazer é ler a linha.
Então, se eu executar isso.
Ele lê a linha, mas digamos que nosso arquivo de texto tenha linhas diferentes, então, como você está?
Digamos um rosto sorridente aqui, se agora eu li a linha.
Eu recebo oi, meu nome é Andre, se eu ler a linha novamente, oi, meu nome é Andre porque eu entendo cada linha.
Só recebo a primeira linha se imprimir várias vezes.
E eu gerencio isso.
Tudo bem, assim é melhor eu entendo.
Olá, meu nome é Andre Smiley Face.
Como você está?
Novamente, o cursor continua se movendo, certo, então posso apenas continuar lendo as linhas.
Outra coisa que posso fazer é apenas dizer ler as linhas se eu executar isso.
Recebo uma lista que contém o arquivo inteiro, lê todas as linhas, e você vê aqui que tenho oi, meu
nome é Andre Nagui.
Eu tenho uma nova linha aqui, um rosto sorridente, uma nova linha.
Lembre-se de que esta é a sequência de escape.
E então como você está?
E nenhuma nova linha aqui porque não há nenhuma nova linha.
É o fim do arquivo.
Então, eles são extremamente úteis, talvez possamos usar expressões regulares para pesquisar um trecho de texto em um arquivo que seja
muito útil, certo?
Agora, a última coisa que precisamos fazer, e isso é um pouco chato, então vou mostrar como não
precisamos fazer no futuro.
Mas, na verdade, você precisa fechar o arquivo manualmente depois de abri-lo com open.
Portanto, você pode usá-lo em outro lugar e o programa é apenas um bom padrão, então o que você precisa fazer
é dizer meu arquivo ponto fechado depois de terminar de usá-lo.
Diga ao seu computador, hey.
Você precisa parar o que quer que esteja fazendo, não estou mais interessado na queda, acabamos com isso.
Você pode usá-lo em outro lugar.
Normalmente fazemos algo assim e pronto.
Vamos fazer uma pausa e aprender mais no próximo vídeo.