Disponibilité: Unix
POSIX
Note: Ce module peut devenir obsolète dans une version future.
Les services fournis par le module sont mieux faits et plus portables
grace à la fonction fcntl.lockf().
Ce module fournit des fonctions supplémentaires sur les objets de type
fichier (intégrés dans l'interpréteur). En particulier, il fournit des
services de verrouillage, de gestion des modes de fichiers, et une interface
facile à utiliser pour dupliquer des objets fichiers.
Ce module définit un nouveau type d'objet, le type posixfile.
Ce type propose toutes les méthodes standard du type fichier, plus des méthodes
décrites ci-après. Ce module ne marche que sur certains types de plateformes
Unix, car il utilise fcntl.fcntl() pour le verrouillage.
Pour obtenir une isntance d'objet posixfile, il faut utiliser la
fonction open() du module posixfile. L'objet
obtenu est en gros équivalent à un objet fichier standard.
Le module posixfile définit les constantes suivantes.
Le module posixfile définit les fonctions suivantes:
L'objet posixfile définit les méthodes supplémentaires suivantes:
SEEK_SET
SEEK_CUR
SEEK_END
open(nomdefichier[,mode[,taille buffer]])
fileopen(objetfichier)
| Format | Signification |
|---|---|
| u | déverrouille la région spécifiée |
| r | demande un verrou en lecture pour la section en question |
| w | demande un verrou en écriture pour la section en question |
De plus, les modificateur suivants peuvent être ajoutés au format:
| Modificateur | Signification | Note |
|---|---|---|
| | | attendre jusqu'à ce que le verrou soit accordé | |
| ? | Renvoie le premier verrou en concurrence, ou bien
None s'il n'y a pas de conflit. | (1) |
Note:
(mode, taille,
début, whence, pid) avec mode un caractère
représentant le type de verrou ('r' ou 'w'). Ce modificateur empèche
qu'une requête soit accordée.
Les caractères utilisés pour la définition du format pour flags()sont les suivants:
| Format | Signification |
|---|---|
| a | Ajout de l'indicateur |
| c | Indicateur de fermeture à l'exécution |
| n | Indicateur de NON attente (no delay) (ou encore indicateur de NON blocage (non-blocking) |
| s | Indicateur de synchronisation |
Les modificateurs suivant peuvent également être ajoutés:
| Modificateur | Signification | Note |
|---|---|---|
| ! | désactive les indicateurs spécifiés, qui sont par défaut actifs | (1) |
| = | remplace l'indicateur au lieu de faire un OU logique | (1) |
| ? | Renvoie une chaîne de caractères dans laquelle les caractères représentent les indicateurs qui sont actifs. | (2) |
Notes:
Exemples:
import posixfile
file = posixfile.open('/tmp/test', 'w')
file.lock('w|')
...
file.lock('u')
file.close()