Método Python os.fdopen()

Python File(文件) 方法Métodos de archivos/directorios de Python OS


Resumen

El método os.fdopen() se utiliza para crear un objeto de archivo a través del descriptor de archivo fd, y devuelve este objeto de archivo.

Disponible en Unix y Windows.

Sintaxis

fdopen()El formato de sintaxis del método es el siguiente:

os.fdopen(fd, [, mode[, bufsize]]);

Parámetros

  • fd-- descriptor del archivo abierto; en Unix, el descriptor es un entero pequeño.

  • mode-- Opcional. Al igual que el parámetro bufsize y la función open incorporada de Python, el parámetro mode puede especificar 'r, w, a, r+, w+, a+, b', etc., indicando si el archivo es de solo lectura o de lectura/escritura, y si el archivo se abre en modo binario o de texto. Estos parámetros son similares al parámetro mode especificado en la función fopen de <stdio.h> en C.

  • bufsize-- Opcional. Especifica si el objeto de archivo devuelto tiene búfer: bufsize=0 indica que no tiene búfer; bufsize=1 indica que el objeto de archivo es de búfer de línea; bufsize=un número positivo indica que se usa un búfer de un tamaño especificado, en bytes, pero este tamaño no es exacto; bufsize=un número negativo indica que se usa un búfer del tamaño predeterminado del sistema. Para dispositivos de caracteres tty generalmente es búfer de línea, mientras que para otros archivos generalmente es búfer completo. Si este parámetro no se especifica, se usa la configuración de búfer predeterminada del sistema.

Valor de retorno

El objeto de archivo devuelto a través del descriptor de archivo.

Ejemplo

El siguiente ejemplo demuestra el uso del método fdopen():

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 打开文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )

# 获取以上文件的对象
fo = os.fdopen(fd, "w+")

# 获取当前文章
print "Current I/O pointer position :%d" % fo.tell()

# 写入字符串
fo.write( "Python is a great language.\nYeah its great!!\n");

# 读取内容
os.lseek(fd, 0, 0)
str = os.read(fd, 100)
print "Read String is : ", str

# 获取当前位置
print "Current I/O pointer position :%d" % fo.tell()

# 关闭文件
os.close( fd )

print "关闭文件成功!!"

Al ejecutar el programa anterior, el resultado es:

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
关闭文件成功!!

Python File(文件) 方法Métodos de archivos/directorios de Python OS

Otras extensiones