Skip to content

Commit

Permalink
feat: add module 5 files
Browse files Browse the repository at this point in the history
  • Loading branch information
guicarvalho committed Jan 17, 2024
1 parent 8109002 commit fbc41cd
Show file tree
Hide file tree
Showing 14 changed files with 979 additions and 0 deletions.
28 changes: 28 additions & 0 deletions 05 - Manipulação de arquivos/1_operacao_leitura.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Lembre-se de alterar o caminho do arquivo, para o caminho completo da sua máquina!

arquivo = open(
"/home/guilherme/Projetos/dio/codigo-fonte/trilha-python-dio/05 - Manipulação de arquivos/lorem.txt", "r"
)
print(arquivo.read())
arquivo.close()

arquivo = open(
"/home/guilherme/Projetos/dio/codigo-fonte/trilha-python-dio/05 - Manipulação de arquivos/lorem.txt", "r"
)
print(arquivo.readline())
arquivo.close()

arquivo = open(
"/home/guilherme/Projetos/dio/codigo-fonte/trilha-python-dio/05 - Manipulação de arquivos/lorem.txt", "r"
)
print(arquivo.readlines())
arquivo.close()

arquivo = open(
"/home/guilherme/Projetos/dio/codigo-fonte/trilha-python-dio/05 - Manipulação de arquivos/lorem.txt", "r"
)
# tip
while len(linha := arquivo.readline()):
print(linha)

arquivo.close()
6 changes: 6 additions & 0 deletions 05 - Manipulação de arquivos/2_operacao_escrita.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
arquivo = open(
"/home/guilherme/Projetos/dio/codigo-fonte/trilha-python-dio/05 - Manipulação de arquivos/teste.txt", "w"
)
arquivo.write("Escrevendo dados em um novo arquivo.")
arquivo.writelines(["\n", "escrevendo", "\n", "um", "\n", "novo", "\n", "texto"])
arquivo.close()
16 changes: 16 additions & 0 deletions 05 - Manipulação de arquivos/3_os_shutil.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import os
import shutil
from pathlib import Path

ROOT_PATH = Path(__file__).parent

os.mkdir(ROOT_PATH / "novo-diretorio")

arquivo = open(ROOT_PATH / "novo.txt", "w")
arquivo.close()

os.rename(ROOT_PATH / "novo.txt", ROOT_PATH / "alterado.txt")

os.remove(ROOT_PATH / "alterado.txt")

shutil.move(ROOT_PATH / "novo.txt", ROOT_PATH / "novo-diretorio" / "novo.txt")
22 changes: 22 additions & 0 deletions 05 - Manipulação de arquivos/4_tratamento_erro.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
from pathlib import Path

ROOT_PATH = Path(__file__).parent


try:
arquivo = open(ROOT_PATH / "novo-diretorio" / "novo.txt", "r")
except FileNotFoundError as exc:
print("Arquivo não encontrado!")
print(exc)
except IsADirectoryError as exc:
print(f"Não foi possível abrir o arquivo: {exc}")
except IOError as exc:
print(f"Erro ao abrir o arquivo: {exc}")
except Exception as exc:
print(f"Algum problema ocorreu ao tentar abrir o arquivo: {exc}")


# try:
# arquivo = open(ROOT_PATH / "novo-diretorio")
# except IsADirectoryError as exc:
# print(f"Não foi possível abrir o arquivo: {exc}")
24 changes: 24 additions & 0 deletions 05 - Manipulação de arquivos/5_boas_praticas.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
from pathlib import Path

ROOT_PATH = Path(__file__).parent

try:
with open(ROOT_PATH / "1lorem.txt", "r") as arquivo:
print(arquivo.read())
except IOError as exc:
print(f"Erro ao abrir o arquivo {exc}")


# try:
# with open(ROOT_PATH / "arquivo-utf-8.txt", "w", encoding="utf-8") as arquivo:
# arquivo.write("Aprendendo a manipular arquivos utilizando Python.")
# except IOError as exc:
# print(f"Erro ao abrir o arquivo {exc}")

try:
with open(ROOT_PATH / "arquivo-utf-8.txt", "r", encoding="utf-8") as arquivo:
print(arquivo.read())
except IOError as exc:
print(f"Erro ao abrir o arquivo {exc}")
except UnicodeDecodeError as exc:
print(exc)
39 changes: 39 additions & 0 deletions 05 - Manipulação de arquivos/6_csv.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import csv
from pathlib import Path

ROOT_PATH = Path(__file__).parent

COLUNA_ID = 0
COLUNA_NOME = 1


try:
with open(ROOT_PATH / "usuarios.csv", "w", newline="", encoding="utf-8") as arquivo:
escritor = csv.writer(arquivo)
escritor.writerow(["id", "nome"])
escritor.writerow(["1", "Maria"])
escritor.writerow(["2", "João"])
except IOError as exc:
print(f"Erro ao criar o arquivo. {exc}")


try:
with open(ROOT_PATH / "usuarios.csv", "r", newline="", encoding="utf-8") as arquivo:
leitor = csv.reader(arquivo)
for idx, row in enumerate(leitor):
if idx == 0:
continue
print(f"ID: {row[COLUNA_ID]}")
print(f"Nome: {row[COLUNA_NOME]}")
except IOError as exc:
print(f"Erro ao criar o arquivo. {exc}")


try:
with open(ROOT_PATH / "usuarios.csv", newline="") as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(f"ID: {row['id']}")
print(f"Nome: {row['nome']}")
except IOError as exc:
print(f"Erro ao criar o arquivo. {exc}")
1 change: 1 addition & 0 deletions 05 - Manipulação de arquivos/arquivo-utf-8.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Aprendendo a manipular arquivos utilizando Python.ÿÿÿ
Loading

0 comments on commit fbc41cd

Please sign in to comment.