Maison  >  Article  >  développement back-end  >  Que signifie fd en python ?

Que signifie fd en python ?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-06-21 13:38:4631092parcourir

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)

2. Copier fd

os.dup(fd)

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

3. Copiez fd

os.dup2(fd, fd2)

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)

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)

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)  

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)

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

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!

Déclaration:
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