open() Abre arquivo
Última atualização: 2026-09-22
open() Abre arquivo
open() abre um arquivo e retorna um objeto file. É fortemente recomendado usar a instrução with para gerenciá-lo.
| Categoria | Funções internas |
|---|---|
| Tipo | Função interna |
| Versão do Python | all |
📝 Sintaxe
open(file, mode='r', ...)
⚙️ Parâmetros
| file Obrigatório | File path (str / bytes / os.PathLike) or an integer file descriptor. |
|---|---|
| mode Opcional | Opening mode: 'r'/'w'/'a'/'x', combinable with 'b', '+' etc.(Padrão:'r') |
| buffering Opcional | Buffering: 0 off, 1 line-buffered, >1 the buffer size in bytes.(Padrão:-1) |
| encoding Opcional | Text encoding such as 'utf-8'; defaults to the platform encoding.(Padrão:None) |
| errors Opcional | Encoding error handling: 'strict'/'ignore'/'replace' etc.(Padrão:None) |
| newline Opcional | Newline handling; None enables universal newline mode.(Padrão:None) |
| closefd Opcional | Whether to close the descriptor too when file is a descriptor and the file is closed.(Padrão:True) |
| opener Opcional | A custom opener callable that returns a file descriptor.(Padrão:None) |
Retorno:A file object: TextIOWrapper in text mode, a BufferedIOBase subclass in binary mode.
💥 Exceções
OSError— Raised (including subclasses like FileNotFoundError) when the file cannot be opened.ValueError— Raised when mode is invalid or the mode/encoding combination conflicts.
▶ Exemplo
Edite o código, clique em Executar e veja o resultado no painel de saída:
Saída:
hello
💡 Dica Use with para fechar o arquivo automaticamente; especifique encoding para evitar armadilhas da codificação padrão da plataforma.
💡 Casos relacionados
Mais estudos de caso em breve — aguarde.
❓ Perguntas frequentes
QQual é o risco de abrir um arquivo sem with?
AO arquivo pode não ser fechado automaticamente, causando vazamento de descritor e conteúdo não gravado; usar with open(...) as f: fecha automaticamente, mesmo se uma exceção ocorrer no meio.
QPor que é preciso passar encoding='utf-8' ao ler arquivos em chinês?
ASem isso é usada a codificação padrão da plataforma (em Windows chinês é gbk), que difere de arquivos utf-8 e levanta UnicodeDecodeError ou gera texto corrompido; é recomendável especificar encoding explicitamente na leitura e escrita.
QQual é a diferença entre os modos 'r'/'w'/'a'/'x' de open()?
A'r' é somente leitura (padrão; se o arquivo não existe levanta FileNotFoundError), 'w' grava e limpa o conteúdo original (cria se não existe), 'a' anexa, 'x' criação exclusiva (levanta FileExistsError se já existe).
QComo abrir um arquivo binário?
AAdicione 'b' ao modo: open('img.png', 'rb') lê bytes e open('img.png', 'wb') grava bytes; o modo binário não aceita o argumento encoding.