# Manipulação de Arquivos em Python A manipulação de arquivos em [[Linguagem de programação Python|Python]] é uma tarefa fundamental, e a abordagem recomendada para garantir o gerenciamento adequado de recursos é o uso da instrução `with` em conjunto com a função `open()`. Esta prática assegura que o arquivo seja fechado automaticamente, mesmo que ocorram erros durante o processamento. ## Modos de Abertura de Arquivos A função `open()` aceita um segundo argumento que define o modo de operação do arquivo. Os modos mais comuns são: * **`'w'` (write):** Abre o arquivo para escrita. Se o arquivo já existir, seu conteúdo será **sobrescrito**. Se não existir, será criado. * **`'r'` (read):** Abre o arquivo para leitura. Este é o modo padrão se nenhum modo for especificado. Ocorre um erro se o arquivo não existir. * **`'a'` (append):** Abre o arquivo para anexar dados ao final do conteúdo existente. Se o arquivo não existir, ele será criado. * **`'x'` (exclusive creation):** Cria um novo arquivo e o abre para escrita. Se o arquivo já existir, a operação falhará. * **`'b'` (binary):** Abre o arquivo em modo binário. Deve ser combinado com outros modos (ex: `'rb'`, `'wb'`). * **`'t'` (text):** Abre o arquivo em modo texto. Este é o modo padrão e pode ser combinado com outros modos (ex: `'rt'`, `'wt'`). * **`'+'` (updating):** Abre um arquivo para atualização (leitura e escrita). Deve ser combinado com outros modos (ex: `'r+'`, `'w+'`, `'a+'`). ## Exemplo Prático: Adicionando Nomes a um Arquivo O exemplo a seguir demonstra como solicitar um nome ao usuário e adicioná-lo a um arquivo chamado `names.txt`. O modo `'a'` garante que cada novo nome seja adicionado ao final do arquivo, sem apagar os anteriores. ```python name = input("Qual é o seu nome? ") with open("names.txt", "a") as file: file.write(f"{name}\n") ``` Este código: 1. Solicita a entrada do usuário e a armazena na variável `name`. 2. Abre o arquivo `names.txt` no modo de anexar (`'a'`). 3. Escreve o nome fornecido, seguido por um caractere de nova linha (`\n`), no arquivo. 4. O bloco `with` garante que o arquivo seja fechado automaticamente após a escrita. ## Referência * [Documentação oficial da função `open()` do Python](https://docs.python.org/3/library/functions.html#open)