Python 3 - método os.fdopen ()

Descripción

El método fdopen() devuelve un objeto de archivo abierto conectado al descriptor de archivo fd. Entonces puede realizar todas las funciones definidas en el objeto de archivo.

Sintaxis

A continuación se muestra la sintaxis de fdopen() método -

os.fdopen(fd, [, mode[, bufsize]]);

Parámetros

  • fd - Este es el descriptor de archivo para el que se devolverá un objeto de archivo.

  • mode- Este argumento opcional es una cadena que indica cómo se abrirá el archivo. Los valores de modo más utilizados son 'r' para leer, 'w' para escribir (truncar el archivo si ya existe) y 'a' para agregar.

  • bufsize - Este argumento opcional especifica el tamaño de búfer deseado para el archivo: 0 significa sin búfer, 1 significa línea en búfer, cualquier otro valor positivo significa usar un búfer de (aproximadamente) ese tamaño.

Valor devuelto

Este método devuelve un objeto de archivo abierto conectado al descriptor de archivo.

Ejemplo

El siguiente ejemplo muestra el uso del 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

Cuando ejecutamos el programa anterior, produce el siguiente 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!!