Python 3 – os.dup2() 方法
描述
该方法 dup2() 将文件描述符 fd 复制到 fd2 ,必要时先关闭后者。
注意 − 仅当可用时才会分配新文件描述符。在下面给出的示例中,如果 1000 可用,则会将其分配为重复的 fd。
语法
dup2() 方法的语法如下 –
os.dup2(fd, fd2)
参数
- fd − 要复制的文件描述符。
-
fd2 − 复制的文件描述符。
返回值
该方法返回文件描述符的副本。
示例
以下示例展示了 dup2() 方法的用法。
#!/usr/bin/python3
import os, sys
# 打开一个文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )
# 使用重复的 fd 写入一个字符串
line = "this is test"
# 字符串需要转换为字节对象
b = str.encode(line)
os.write(fd, b)
# 将此文件描述符复制为 1000
fd2 = 1000
os.dup2(fd, fd2);
# 使用 fd2 从开头读取此文件。
os.lseek(fd2, 0, 0)
line = os.read(fd2, 100)
str = line.decode()
print ("读取的字符串是:", str)
# 关闭已打开的文件
os.closerange( fd,fd2 )
print ("成功关闭文件!")
结果
运行以上程序后,会产生以下结果−
读取的字符串是: This is test
成功关闭文件!