Python 3 - os.dup2() 方法
-
描述
方法dup2()重复文件描述符fd到fd2, 如有必要,先关闭后者。Note− 新文件描述仅在可用时分配。在下面给出的示例中,如果 1000 可用,则 1000 将被分配为重复的 fd。 -
句法
以下是语法dup2()方法 -os.dup2(fd, fd2)
-
参数
-
fd− 这是要复制的文件描述符。
-
fd2− 这是重复的文件描述符。
-
-
返回值
此方法返回文件描述符的副本。 -
例子
以下示例显示了 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!!")
-
结果
当我们运行上面的程序时,它会产生以下结果 -Read String is : This is test Closed the file successfully!!