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
    # 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!!