Python 3 - metodo os.dup2 ()

Descrizione

Il metodo dup2() duplica il descrittore di file fd per fd2, chiudendo prima quest'ultimo se necessario.

Note- La nuova descrizione del file verrà assegnata solo quando è disponibile. Nell'esempio seguente riportato di seguito, 1000 sarebbe assegnato come fd duplicato nel caso in cui 1000 sia disponibile.

Sintassi

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

os.dup2(fd, fd2)

Parametri

  • fd - Questo è il descrittore di file da duplicare.

  • fd2 - Questo è il descrittore di file duplicato.

Valore di ritorno

Questo metodo restituisce un duplicato del descrittore di file.

Esempio

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

#!/usr/bin/python3
import os, sys

# Open a file
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )

# Write one string using duplicate fd
line = "this is test" 

# string needs to be converted byte object
b = str.encode(line)
os.write(fd, b)

# Now duplicate this file descriptor as 1000
fd2 = 1000
os.dup2(fd, fd2);

# Now read this file from the beginning using fd2.
os.lseek(fd2, 0, 0)
line = os.read(fd2, 100)
str = line.decode()
print ("Read String is : ", str)

# Close opened file
os.closerange( fd,fd2 )

print ("Closed the file successfully!!")

Risultato

Quando eseguiamo il programma sopra, produce il seguente risultato:

Read String is :  This is test
Closed the file successfully!!