Python 3 – os.fdopen() 方法
描述
fdopen() 方法返回与文件描述符 fd 相连的打开的文件对象。然后,您可以对文件对象执行所有已定义的函数。
语法
以下是 fdopen() 方法的语法-
os.fdopen(fd, [, mode[, bufsize]]);
参数
- fd − 这是要返回文件对象的文件描述符。
-
mode − 此可选参数是一个字符串,指示如何打开文件。 mode 的最常用值为“r”表示读取,“w”表示写入(如果文件已存在,则截断该文件),“a”表示追加。
-
bufsize − 此可选参数指定文件的期望缓冲区大小:0 表示不带缓冲,1 表示行缓冲,任何其他正值表示使用该大小的缓冲区(大约)。
返回值
此方法返回与文件描述符相连的打开文件对象。
示例
以下示例演示了 fdopen() 方法的用法。
#!/usr/bin/python3
import os, sys
# 打开一个文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )
# 现在为上述文件获取一个文件对象。
fo = os.fdopen(fd, "w+")
# 告诉当前位置
print ("当前 I/O 指针位置:%d" % fo.tell())
# 写入字符串
fo.write( "Python 是一门很棒的语言。\n是的,它很棒!!\n");
# 现在从开头读取此文件。
os.lseek(fd, 0, 0)
str = os.read(fd, 100)
print ("读取的字符串是:", str)
# 告诉当前位置
print ("当前 I/O 指针位置:%d" % fo.tell())
# 关闭打开的文件
fo.close()
print ("文件已成功关闭!!")
结果
运行上述程序时,它会产生以下结果-
当前 I/O 指针位置:0
读取的字符串是: This is testPython 是一门很棒的语言。
是的,它很棒!!
当前 I/O 指针位置:45
文件已成功关闭!!