Até este ponto, nós aprendemos a ler arquivos, mas tínhamos essa coisa chata com o cursor e
então tínhamos que fechar o arquivo.
Então, como podemos consertar isso?
Bem, a melhor maneira de realmente fazer algo assim e fazer o arquivo Eyo com Python é com a
instrução with embutida.
Deixe-me mostrar a você, em vez do que tínhamos antes, o que vamos dizer é.
Abra o nome do arquivo.
E diga como seja a variável que você quiser, então meu arquivo.
Portanto, agora com Open, você pode realmente fazer algo assim, mas não precisa se preocupar em fechar, então na maioria
das vezes você deseja usar a instrução de largura.
Esta é a maneira correta de trabalhar com arquivos em Python.
E se eu salvar aqui e correr.
Meu roteiro.
Bem, recebo um erro porque esqueci a coluna aqui se executar novamente.
Ai está.
Recebo minha saída e não preciso fechar meu arquivo.
Tudo está baixo para mim.
Portanto, esta é uma maneira padrão de ler um arquivo.
Agora, e se quiséssemos gravar em um arquivo?
Até agora, nós apenas lemos e, na verdade, por baixo do Hood Open tem um parâmetro padrão chamado MOAD.
É igual a R, que significa Read.
Assim, com o Modo, somos capazes de ler arquivos quando não especificamos o modo, ele automaticamente assume que estamos
lendo.
Mas se quisermos gravar em um arquivo, podemos simplesmente fazer W para.
Direito.
Então, se eu executar isso.
Você vê que recebo um erro agora, operação não suportada, não legível porque, bem, o arquivo só
pode ser Rinne.
Portanto, para que eu possa ler e escrever, posso escrever r w.
Direito.
Bem vamos ver.
Não, na verdade não é assim que funciona, você pensaria que é RW, mas isso é um truque.
Para ler e escrever, nós lemos mais.
Então, se eu executar isso.
Tudo bem.
Estou lendo e escrevendo e recebi uma lista vazia porque agora está vazia.
OK, então vamos gravar em um arquivo aqui.
Vamos diminuir um pouco o tamanho, para que possamos ver que está melhor.
Digamos que neste outono eu queira ter texto e neste texto vou dizer meu arquivo ponto, certo.
E eu posso escrever qualquer pedaço de texto que eu quiser, então vamos dizer, ei, é.
Mim.
Então, agora aqui, se eu imprimir texto.
E eu gerencio isso.
Eu recebo 11.
Hmm, o que significa este 11?
Bem, isso é muito importante agora, no qual queremos nos concentrar é, ei, sou eu.
Escrevi em um arquivo.
OK, digamos que eu queira abrir o arquivo novamente e realmente escrever novamente.
Digamos que desta vez eu vou escrever uma carinha sorridente.
Se eu executar isso.
E volte.
Certo, parece que escrevi no arquivo, mas, oh, é isso que queríamos?
Quando escrevemos algo em um arquivo, o cursor é reiniciado.
Lembre-se, quando abrimos um arquivo, o cursor vai para zero.
E nós gravamos no arquivo, e se já houver algo lá enquanto o sobrescrevemos, temos que
ter cuidado.
E por falar nisso, esse arquivo de texto acabou de nos mostrar que escrevemos dois personagens, The Smiley Face.
OK, então como podemos consertar isso, como podemos ter certeza de que não quebramos o que tínhamos anteriormente, que é, ei,
sou eu e eu só quero adicionar um rosto sorridente no final?
Bem, podemos usar o modo de acréscimo.
O modo de acréscimo é um e este vai até o final do arquivo.
Se eu correr assim assim, ei, sou eu com uma carinha sorridente, acontece até o fim.
Então esse é o modo de acréscimo.
Novamente, podemos usar W para escrever e se eu executar isso.
Isto.
Adiciona um rosto sorridente.
Agora, por que não fez como da última vez e sobrescreveu o existente?
Bem, é por causa do nosso moed.
C. nos permite gravar em um arquivo anteriormente quando lemos e escrevemos, o que aconteceu foi que lemos o
arquivo.
Vamos executar de novo, na verdade.
Vamos voltar ao hey, sou eu do jeito que era.
E se eu executar isso de novo.
Porque lemos e escrevemos.
O cursor foi definido como zero e sobre ele versus se apenas fizéssemos o certo.
Irá assumir que este é um novo arquivo e nós apenas queremos bem, basta adicionar o rosto sorridente.
Se eu clicar em correr aqui, você verá que agora é apenas uma carinha sorridente.
Portanto, você deve ter o cuidado de usar o modo correto com base no que você precisa.
Agora, digamos que quiséssemos criar um pai, não existe.
Vamos ter um arquivo chamado Happy Dot Taxed.
Ou, na verdade, não, vamos definir.
E isso escreve um rosto triste, mas lembre-se, não temos isso em nossa área de trabalho, se eu limpar isso e
olhar para nossa área de trabalho, não temos um texto triste.
Se eu ler mais aqui.
Então, leia e escreva e eu corro isso.
Recebo um arquivo não encontrado aqui.
Se eu fizer um certo aqui e executar isso.
Tudo bem, parece que funcionou, se eu olhar os arquivos, tenho um texto triste agora.
Então, agora, se eu abrir.
Eu tenho um texto de rosto triste.
Então, a direita também cria um novo arquivo, se ele ainda não existir, ou sobrescreve o existente.
Portanto, você deve ter cuidado mais uma vez com o modo, se deseja acrescentar, se deseja
ler, se deseja ler e escrever.
Mas na maioria das vezes, os mais comuns são ler, escrever e anexar.
Agora, no próximo vídeo, quero falar sobre essa ideia de arquivo.
Escrevi arquivos de texto por enquanto, mas poderíamos ter escrito qualquer coisa.
Poderíamos ter feito um arquivo se eu quisesse.
Mas e quanto a acessar arquivos que estão em locais diferentes, como dentro de pastas?
Vamos explorar esse tópico no próximo vídeo.