|
| 1 | +A manipulação de ficheiros em Python permite ler, escrever, e modificar conteúdos de diferentes tipos de ficheiros, incluindo os ficheiros JSON, que são comumente usados para armazenar e transferir dados estruturados. Vamos ver um pouco sobre manipulação de ficheiros em geral, focando em ler e escrever dados, e depois vamos explorar o formato JSON especificamente. |
| 2 | + |
| 3 | +### Manipulação de Ficheiros em Python |
| 4 | + |
| 5 | +Em Python, a função `open()` é usada para abrir um ficheiro. Esta função pode abrir o ficheiro em diferentes modos: |
| 6 | +- `"r"` para leitura (read) |
| 7 | +- `"w"` para escrita (write) |
| 8 | +- `"a"` para acrescentar (append) |
| 9 | +- `"r+"` para leitura e escrita |
| 10 | + |
| 11 | +Aqui está um exemplo básico para abrir, ler, e escrever num ficheiro de texto: |
| 12 | + |
| 13 | +```python |
| 14 | +# Abrir um ficheiro em modo de escrita e adicionar conteúdo |
| 15 | +with open("exemplo.txt", "w") as file: |
| 16 | + file.write("Esta é uma linha de exemplo.") |
| 17 | + |
| 18 | +# Abrir o ficheiro em modo de leitura e exibir o conteúdo |
| 19 | +with open("exemplo.txt", "r") as file: |
| 20 | + conteudo = file.read() |
| 21 | + print(conteudo) |
| 22 | +``` |
| 23 | + |
| 24 | +Neste exemplo: |
| 25 | +1. Criamos o ficheiro `exemplo.txt` e escrevemos uma linha nele. |
| 26 | +2. Depois, abrimos o ficheiro novamente, desta vez em modo de leitura, para exibir o conteúdo. |
| 27 | + |
| 28 | +### Manipulação de Ficheiros JSON |
| 29 | + |
| 30 | +O formato JSON (JavaScript Object Notation) é um padrão leve para troca de dados, bastante utilizado para estruturar dados em pares de chave-valor, como objetos e listas. Python tem o módulo `json` que permite manipular dados JSON facilmente. |
| 31 | + |
| 32 | +#### Exemplo de Escrita em JSON |
| 33 | + |
| 34 | +Aqui, vamos criar um dicionário em Python, convertê-lo para JSON e gravá-lo num ficheiro: |
| 35 | + |
| 36 | +```python |
| 37 | +import json |
| 38 | + |
| 39 | +# Dados para salvar no ficheiro JSON |
| 40 | +dados = { |
| 41 | + "nome": "Ana", |
| 42 | + "idade": 25, |
| 43 | + "cidade": "Lisboa", |
| 44 | + "hobbies": ["leitura", "viajar", "caminhadas"] |
| 45 | +} |
| 46 | + |
| 47 | +# Escrever os dados num ficheiro JSON |
| 48 | +with open("dados.json", "w") as file: |
| 49 | + json.dump(dados, file, indent=4) |
| 50 | + |
| 51 | +print("Ficheiro JSON criado com sucesso.") |
| 52 | +``` |
| 53 | + |
| 54 | +Neste exemplo: |
| 55 | +1. Criamos um dicionário chamado `dados`. |
| 56 | +2. Usamos `json.dump()` para gravar esse dicionário em `dados.json`, adicionando uma indentação de 4 espaços para deixar o JSON formatado. |
| 57 | + |
| 58 | +#### Exemplo de Leitura de JSON |
| 59 | + |
| 60 | +Para ler um ficheiro JSON e acessar os dados, utilizamos `json.load()`: |
| 61 | + |
| 62 | +```python |
| 63 | +import json |
| 64 | + |
| 65 | +# Ler dados do ficheiro JSON |
| 66 | +with open("dados.json", "r") as file: |
| 67 | + dados_lidos = json.load(file) |
| 68 | + |
| 69 | +print(dados_lidos) |
| 70 | +``` |
| 71 | + |
| 72 | +Este exemplo: |
| 73 | +1. Abre o ficheiro `dados.json` em modo de leitura. |
| 74 | +2. Carrega os dados JSON no dicionário `dados_lidos` e imprime-os. |
| 75 | + |
| 76 | +#### Manipular Dados JSON Lidos |
| 77 | + |
| 78 | +Com os dados lidos, podemos manipulá-los, adicionando ou modificando informações, e depois salvá-los de novo. |
| 79 | + |
| 80 | +```python |
| 81 | +# Modificar os dados lidos |
| 82 | +dados_lidos["idade"] = 26 |
| 83 | +dados_lidos["cidade"] = "Porto" |
| 84 | +dados_lidos["hobbies"].append("fotografia") |
| 85 | + |
| 86 | +# Escrever as mudanças no ficheiro JSON novamente |
| 87 | +with open("dados.json", "w") as file: |
| 88 | + json.dump(dados_lidos, file, indent=4) |
| 89 | + |
| 90 | +print("Ficheiro JSON atualizado com sucesso.") |
| 91 | +``` |
| 92 | + |
| 93 | +Neste exemplo: |
| 94 | +1. Alteramos a idade, a cidade e adicionamos um novo hobby. |
| 95 | +2. Gravamos as alterações no mesmo ficheiro JSON. |
| 96 | + |
| 97 | +### Manipulação de Listas em JSON |
| 98 | + |
| 99 | +Se quisermos armazenar uma lista de itens, podemos gravá-la no formato JSON assim: |
| 100 | + |
| 101 | +```python |
| 102 | +import json |
| 103 | + |
| 104 | +# Lista de dados para salvar em JSON |
| 105 | +lista_dados = [ |
| 106 | + {"nome": "Carlos", "idade": 28}, |
| 107 | + {"nome": "Maria", "idade": 32}, |
| 108 | + {"nome": "Pedro", "idade": 19} |
| 109 | +] |
| 110 | + |
| 111 | +# Escrever a lista no ficheiro JSON |
| 112 | +with open("lista_dados.json", "w") as file: |
| 113 | + json.dump(lista_dados, file, indent=4) |
| 114 | + |
| 115 | +print("Lista de dados gravada com sucesso em JSON.") |
| 116 | +``` |
| 117 | + |
| 118 | +Para ler e manipular esta lista, faríamos assim: |
| 119 | + |
| 120 | +```python |
| 121 | +# Ler a lista de dados do ficheiro JSON |
| 122 | +with open("lista_dados.json", "r") as file: |
| 123 | + lista_lida = json.load(file) |
| 124 | + |
| 125 | +# Exibir cada elemento da lista |
| 126 | +for pessoa in lista_lida: |
| 127 | + print(f"Nome: {pessoa['nome']}, Idade: {pessoa['idade']}") |
| 128 | +``` |
| 129 | + |
| 130 | +### Resumo dos Comandos JSON |
| 131 | +- `json.dump(data, file)`: grava dados JSON num ficheiro. |
| 132 | +- `json.load(file)`: lê dados JSON de um ficheiro. |
| 133 | +- `json.dumps(data)`: converte um dicionário para uma string JSON. |
| 134 | +- `json.loads(string)`: converte uma string JSON para um dicionário. |
| 135 | + |
| 136 | +Estes exemplos dão uma boa base para criar e manipular ficheiros JSON, com potencial para armazenar e organizar dados estruturados em Python. |
0 commit comments