Python 3 - método os.dup2 ()
Descripción
El método dup2() descriptor de archivo duplicado fd a fd2, cerrando este último primero si es necesario.
Note- La nueva descripción de archivo se asignará solo cuando esté disponible. En el siguiente ejemplo que se muestra a continuación, 1000 se asignaría como un fd duplicado en caso de que 1000 esté disponible.
Sintaxis
A continuación se muestra la sintaxis de dup2() método -
os.dup2(fd, fd2)
Parámetros
fd - Este es el descriptor de archivo que se va a duplicar.
fd2 - Este es el descriptor de archivo duplicado.
Valor devuelto
Este método devuelve un duplicado del descriptor de archivo.
Ejemplo
El siguiente ejemplo muestra el uso del método 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!!")
Resultado
Cuando ejecutamos el programa anterior, produce el siguiente resultado:
Read String is : This is test
Closed the file successfully!!