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!!
python_os_file_directory_methods.htm
广告