Python OS文件/目录 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
# Open a file
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )
# Now get a file object for the above file.
fo = os.fdopen(fd, "w+")
# Tell the current position
print ("Current I/O pointer position :%d" % fo.tell())
# Write one string
fo.write( "Python is a great language.\nYeah its great!!\n");
# Now read this file from the beginning.
os.lseek(fd, 0, 0)
str = os.read(fd, 100)
print ("Read String is : ", str)
# Tell the current position
print ("Current I/O pointer position :%d" % fo.tell())
# Close opened file
fo.close()
print ("Closed the file successfully!!")
当我们运行上述程序时,它会产生以下结果−
Current I/O pointer position :0
Read String is : This is testPython is a great language.
Yeah its great!!
Current I/O pointer position :45
Closed the file successfully!!