Que signifie fd en python ?

爱喝马黛茶的安东尼
Libérer: 2020-07-10 17:21:53
original
31164 Les gens l'ont consulté

Le descripteur de fichier (fd) est le numéro d'identification utilisé dans le système pour enregistrer de manière unique le fichier actuellement ouvert. fd est un nombre entier.

En plus de l'objet file, Python fournit également des opérations sur fd. L'opération sur fd est de plus bas niveau. Les objets fd et file en Python sont des concepts différents. Comme mentionné lors de l'introduction de l'objet fichier, l'appel de f.fileno() peut obtenir le fd d'un objet fichier, ou vous pouvez encapsuler un objet fichier sur un fd existant : f = os.fdopen(fd).

Que signifie fd en python ?

Certains fds sont alloués à l'avance lors de la création d'un processus :

0 - stdin du processus

1——Stdout du processus

2——Stderr du processus

Le module os en Python fournit la méthode suivante pour fd :

1. Fermer fd

os.close(fd)
Copier après la connexion

2. Copier fd

os.dup(fd)
Copier après la connexion

Renvoyer un nouveau fd1, ce fd1 est copié. Paramètre fd.

3. Copiez fd

os.dup2(fd, fd2)
Copier après la connexion

Copiez fd dans fd2, si fd2 est déjà ouvert, fermez-le d'abord.

4. De fd à l'objet fichier

os.fdopen(fd, mode='r', bufsize=-1)
Copier après la connexion

Renvoie un objet fichier Python encapsulant fd. Les paramètres mode et bufsize correspondent à la fonction open() intégrée. les paramètres ont la même signification.

5. Obtenez divers attributs du fichier à partir de fd

os.fstat(fd)
Copier après la connexion

Renvoyer une instance x de type stat_result, et os.stat(path) Le type renvoyé est le même, sauf que les attributs pertinents du fichier correspondant sont obtenus via un fd.

6. Changer la position actuelle du fichier correspondant à fd

os.lseek(fd, pos, how)  
Copier après la connexion

L'effet est le même que f.seek(pos, how), le paramètre how précise le point de référence, il y a trois types au total, ils sont : os.SEEK_SET == 0 (début du fichier), os.SEEK_CUR == 1 (position actuelle) et os.SEEK_END == 2 (fin du fichier).   

Il n'existe pas de f.tell() similaire. Ce type de fonction peut utiliser directement fd pour obtenir la position actuelle du fichier. En fait, vous pouvez en implémenter une vous-même en utilisant os.lseek().

os.lseek(fd, 0, os.SEEK_CUR)
Copier après la connexion

peut renvoyer la position du fichier correspondant au fd actuel sans modifier les fichiers originaux qui sont affectés.

7. Ouvrez le fichier et obtenez fd

os.open(file, flags, mode=0777
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal