Alternativa D - with open("config.json", "r") as arquivo: config = json.load(arquivo)
A questão solicita a implementação correta de uma função em Python que leia um arquivo JSON e o converta para um dicionário, utilizando gerenciamento de contexto (context manager) para arquivos.
Análise da Solução
A alternativa D é a única que combina corretamente os dois conceitos fundamentais solicitados: manipulação de arquivos segura e parsing de JSON.
Por que a Alternativa D está correta?
- Gerenciamento de Contexto (
with open):
- O bloco
with open("config.json", "r") as arquivo: garante que o arquivo seja aberto e fechado automaticamente, mesmo se ocorrer um erro durante a execução. Isso evita vazamento de recursos (file handles). - O modo
"r" indica leitura (read), adequado para carregar configurações existentes.
- Módulo JSON (
json.load):
- A função
json.load(arquivo) lê dados diretamente de um objeto de arquivo e os converte para estruturas de dados do Python (como dicionários e listas). - É a função oposta a
json.dump(), que escreve dados em um arquivo.
Por que as outras alternativas estão incorretas?
| Alternativa | Erro Identificado |
|---|
| A | Usa file() (inexistente em Python 3) e método .read_json() (não existe). |
| B | Usa json.dump(), que serve para escrever JSON, não ler. Além disso, falta o gerenciador de contexto. |
| C | Usa json.loads(), que espera uma string contendo o conteúdo JSON, não o nome do arquivo. |
| E | Tenta usar dict() sobre o objeto arquivo, o que apenas itera pelas linhas, sem fazer parsing de JSON. |
Conclusão
Para carregar configurações de um arquivo JSON em Python de forma robusta, a sintaxe padrão é utilizar o gerenciador de contexto with open() combinado com a função json.load().