Méthode os.fdopen() Python3

Python3 OS 文件/目录方法Méthodes de fichiers/répertoires du module OS de Python3


Aperçu

La méthode os.fdopen() est utilisée pour créer un objet fichier à partir d'un descripteur de fichier fd, et renvoie cet objet fichier.

Cette méthode est un alias de la fonction intégréeopen(), et peut accepter les mêmes paramètres. La seule différence est que le premier paramètre de fdopen() doit être un entier.

Syntaxe

fdopen()La syntaxe de la méthode est la suivante :

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

Parameters

  • fd-- Le descripteur de fichier du fichier ouvert. Sous Unix, le descripteur est un petit entier.

  • mode-- Facultatif. Comme pour la fonction intégrée open de Python, le paramètre mode peut spécifier 'r,w,a,r+,w+,a+,b', etc., indiquant si le fichier est en lecture seule ou en lecture/écriture, et s'il est ouvert en mode binaire ou texte. Ces paramètres sont similaires au paramètre mode spécifié dans la fonction fopen de <stdio.h> en langage C.

  • bufsize-- Facultatif. Spécifie si l'objet fichier renvoyé est mis en mémoire tampon : bufsize=0 signifie aucune mise en mémoire tampon ; bufsize=1 signifie que l'objet fichier est tamponné par ligne ; bufsize=nombre positif signifie qu'un tampon de taille spécifiée est utilisé, en octets, mais cette taille n'est pas précise ; bufsize=nombre négatif signifie qu'une taille de tampon par défaut du système est utilisée. Pour les périphériques de caractères tty, il est généralement tamponné par ligne, tandis que pour les autres fichiers, il est généralement entièrement tamponné. Si ce paramètre n'est pas spécifié, les paramètres de mise en mémoire tampon par défaut du système sont utilisés.

Valeur de retour

Un objet fichier renvoyé via le descripteur de fichier.

Exemple

L'exemple suivant montre l'utilisation de la méthode fdopen() :

Exemple (Python 3.0+)

#!/usr/bin/python3 import os, sys # Ouvrir le fichier fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT ) # Obtenir l'objet fichier du fichier ci-dessus fo = os.fdopen(fd, "w+") # Obtenir la position actuelle print ("Position actuelle du pointeur d'E/S :%d" % fo.tell()) # Écrire la chaîne fo.write( "Python est un excellent langage.\nOuais, c'est génial !!\n"); # Lire le contenu os.lseek(fd, 0, 0) str = os.read(fd, 100) print ("La chaîne lue est : ", str) # Obtenir la position actuelle print ("Position actuelle du pointeur d'E/S :%d" % fo.tell()) # Fermer le fichier os.close( fd ) print ("Fichier fermé avec succès !!")

La sortie du programme ci-dessus est :

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

Python3 OS 文件/目录方法Méthodes de fichiers/répertoires du module OS de Python3

Autres extensions