Metodo Python os.fdopen ()

Descrizione

Metodo Python fdopen()restituisce un oggetto file aperto connesso al descrittore di file fd . Quindi è possibile eseguire tutte le funzioni definite sull'oggetto file.

Sintassi

Di seguito è riportata la sintassi per fdopen() metodo -

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

Parametri

  • fd - Questo è il descrittore di file per il quale deve essere restituito un oggetto file.

  • mode- Questo argomento opzionale è una stringa che indica come deve essere aperto il file. I valori più comunemente usati di mode sono "r" per la lettura, "w" per la scrittura (troncando il file se esiste già) e "a" per l'aggiunta.

  • bufsize - Questo argomento opzionale specifica la dimensione del buffer desiderata per il file: 0 significa senza buffer, 1 significa buffer di riga, qualsiasi altro valore positivo significa utilizzare un buffer di (approssimativamente) quella dimensione.

Valore di ritorno

Questo metodo restituisce un oggetto file aperto connesso al descrittore di file.

Esempio

L'esempio seguente mostra l'utilizzo del metodo fdopen ().

#!/usr/bin/python

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!!"

Quando eseguiamo il programma sopra, produce il seguente risultato:

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!!