Skip to content

Instantly share code, notes, and snippets.

@eliasalbuquerque
Last active December 16, 2023 00:17
Show Gist options
  • Save eliasalbuquerque/dfd605cf1d300705639e89c3a0c9e0cd to your computer and use it in GitHub Desktop.
Save eliasalbuquerque/dfd605cf1d300705639e89c3a0c9e0cd to your computer and use it in GitHub Desktop.
Curso Dev Aprender | Jhonatan de Souza

Desafio

Manipulação de Arquivos

  1. Primeiro crie 3 listas

    • Uma lista que contem 5 frutas
    • Uma lista que contem 5 cores
    • Uma lista que contem 5 linguagens de programação
  2. Crie um novo arquivo chamado frutas.txt e insira dentro dele todos as 5 frutas que estão na lista de frutas;

  3. Imprima na tela todas as linhas que estao dentro do arquivo frutas.txt;

  4. Sem apagar os dados que já estão dentro de frutas.txt, adicione todas as cores que estão dentro da sua lista de cores ao arquivos frutas.txt;

  5. Crie um novo arquivo chamado Top 5 Linguagens.txt e popule o arquivo, de forma com que cada linuguagem ocupe apenas uma linha;

  6. BONUS - Como você poderia criar vários arquivos diferentes usando um laço for e strings dinâmicos (f'{}'), e também não escrever nada dentro deles?

Código

import os


# 3 listas
frutas = ['maçã', 'laranja', 'melancia', 'uva', 'banana']
cores = ['vermelho', 'amarelo', 'verde', 'azul', 'preto']
linguagens = ['python', 'java', 'rust', 'php', 'c']


# Desafio 1 - Crie um novo arquivo chamado frutas.txt e insira dentro dele
# todos as 5 frutas que estão na lista de frutas
nome_arquivo = 'frutas.txt'
local_arquivo = 'assets'
arquivo_txt = os.path.join(local_arquivo, nome_arquivo)

with open(arquivo_txt, 'w', encoding='utf-8', newline='') as arquivo:
    for i in frutas:
        arquivo.write(i + os.linesep)


# Desafio 2 - Imprima na tela todas as linhas que estao dentro do arquivo 
# frutas.txt
with open(arquivo_txt, 'r', encoding='utf-8') as arquivo:
    for linha in arquivo:
        print(linha.strip())


# Desafio 3 - Sem apagar os dados que já estão dentro de frutas.txt, adicione 
# todas as cores que estão dentro da sua lista de cores ao arquivos frutas.txt
with open(arquivo_txt, 'a', encoding='utf-8', newline='') as arquivo:
    for i in cores:
        arquivo.write(i + os.linesep)


# Desafio 4 - Crie um novo arquivo chamado 'Top 5 Linguagens.txt' e popule o 
# arquivo, de forma com que cada linuguagem ocupe apenas uma linha.
nome_arquivo = 'Top 5 Linguagens.txt'
local_arquivo = 'assets'
arquivo_txt = os.path.join(local_arquivo, nome_arquivo)

with open(arquivo_txt, 'w', encoding='utf-8', newline='') as arquivo:
    for i in linguagens:
        arquivo.write(i + os.linesep)


# BONUS - Como você poderia criar vários arquivos diferentes usando um laço for 
# e strings dinâmicos(f'{}'), e também não escrever nada dentro deles?
local_arquivo = 'assets'

for i in range(5):
    arquivo_txt = os.path.join(local_arquivo, 'bonus')
    with open(f'{arquivo_txt}{i}.txt', 'w') as arquivo:
        pass

Resultado

criar-arquivos

Console Desafio 2

maçã
laranja
melancia
uva
banana
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment