> Modules standards > Modules pour les fichiers > Fichiers temporaires
Fichiers temporaires
Il faut faire import tempfile
Fonction de création d'un fichier temporaire (avec droits d'accès seulement pour le créateur) :
Création d'un directory temporaire :
- myDirName = tempfile.mkdtemp() : crée un directory temporaire et renvoie son nom.
- paramètres :
- prefix = 'data' : le prefixe du directory est 'data'.
- suffix = .dir' : le suffixe du directory est '.dir.
- dir = '/tmp' : le directory où il faut créer le sous directory.
Création d'un fichier temporaire, accessible uniquement par le créateur :
- fh = tempfile.NamedTemporaryFile() : crée un fichier temporaire qui est détruit dès qu'il est fermé (sous linux, par défaut fichier créé dans /tmp).
- le nom du fichier est récupérable par fh.name.
- principaux paramètres :
- mode : défaut est w+b
- dir : directory où le fichier est créé (par défaut, /tmp).
- prefix : préfixe du nom du fichier, par défaut tmp.
- suffix : suffixe du nom du fichier, par défaut ''. Si on veut un fichier .dat, il faut utiliser suffix = '.dat'.
- on peut mettre l'argument delete = False pour éviter que le fichier ne soit détruit à la fermeture de celui-ci.
- faire fh.flush() pour passer toutes les écritures (pour qu'il y ait vraiment écriture physique sur le disque, il faut faire os.fsync(fh), ce qui n'est pas nécessaire pour qu'un autre process puisse correctement lire le même fichier).
Création d'un fichier temporaire anynonyme, accessible uniquement par le créateur :
- fh = tempfile.TemporaryFile() : crée un fichier temporaire détruit dès qu'il est fermé. Sous linux, il n'est pas visible car l'entrée est détruite immédiatement.
- principaux arguments :
- mode : défaut est w+b
- dir : directory où le fichier est créé.
Localisation des fichiers et directories temporaires :
- tempfile.gettempdir() : permet de savoir quel est l'endroit par défaut (quand dir n'est pas indiqué dans l'appel de la fonction).
- tempfile.tempdir = 'myDir' : permet de changer l'endroit par défaut de création des fichiers et directories temporaires. Par défaut, c'est /tmp sous linux, à moins qu'une des variables TMPDIR, TEMP ou TMP soit fixée (prises en compte dans cet ordre).
Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert