Python3 os.dup2()方法

dup2()方法复制文件描述符fd到fd2,如果必要之后就关闭它。

注意:只有在新的文件描述可用时才被分配。 在下面给出的下面的例子中,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!!

上一篇: Python3文件方法 下一篇: Python3 os文件目录的方法