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.

CategoriaFunções internas
TipoFunção interna
Versão do Pythonall

📝 Sintaxe

open(file, mode='r', ...)

⚙️ Parâmetros

file ObrigatórioFile path (str / bytes / os.PathLike) or an integer file descriptor.
mode OpcionalOpening mode: 'r'/'w'/'a'/'x', combinable with 'b', '+' etc.(Padrão:'r')
buffering OpcionalBuffering: 0 off, 1 line-buffered, >1 the buffer size in bytes.(Padrão:-1)
encoding OpcionalText encoding such as 'utf-8'; defaults to the platform encoding.(Padrão:None)
errors OpcionalEncoding error handling: 'strict'/'ignore'/'replace' etc.(Padrão:None)
newline OpcionalNewline handling; None enables universal newline mode.(Padrão:None)
closefd OpcionalWhether to close the descriptor too when file is a descriptor and the file is closed.(Padrão:True)
opener OpcionalA 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

▶ 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.
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.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%