Python 3 - Método os.fdopen ()
Descrição
O método fdopen() retorna um objeto de arquivo aberto conectado ao descritor de arquivo fd. Então você pode executar todas as funções definidas no objeto de arquivo.
Sintaxe
A seguir está a sintaxe para fdopen() método -
os.fdopen(fd, [, mode[, bufsize]]);
Parâmetros
fd - Este é o descritor de arquivo para o qual um objeto de arquivo deve ser retornado.
mode- Este argumento opcional é uma string que indica como o arquivo deve ser aberto. Os valores de modo mais comumente usados são 'r' para leitura, 'w' para gravação (truncar o arquivo se ele já existir) e 'a' para anexar.
bufsize - Este argumento opcional especifica o tamanho de buffer desejado do arquivo: 0 significa sem buffer, 1 significa buffer de linha, qualquer outro valor positivo significa usar um buffer de (aproximadamente) esse tamanho.
Valor de retorno
Este método retorna um objeto de arquivo aberto conectado ao descritor de arquivo.
Exemplo
O exemplo a seguir mostra o uso do método fdopen ().
#!/usr/bin/python3
import os, sys
# Open a file
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )
# Now get a file object for the above file.
fo = os.fdopen(fd, "w+")
# Tell the current position
print ("Current I/O pointer position :%d" % fo.tell())
# Write one string
fo.write( "Python is a great language.\nYeah its great!!\n");
# Now read this file from the beginning.
os.lseek(fd, 0, 0)
str = os.read(fd, 100)
print ("Read String is : ", str)
# Tell the current position
print ("Current I/O pointer position :%d" % fo.tell())
# Close opened file
fo.close()
print ("Closed the file successfully!!")
Resultado
Quando executamos o programa acima, ele produz o seguinte resultado -
Current I/O pointer position :0
Read String is : This is testPython is a great language.
Yeah its great!!
Current I/O pointer position :45
Closed the file successfully!!