Exemples avec le module tempfile
Nous allons commencer par des exemples simples avec le Python fichier temporaire module ici.
Création de fichiers temporaires
La première chose nécessaire pour enregistrer les données temporaires est les fichiers où nous pouvons stocker ces données. Cela peut être fait en utilisant le Fichier temporaire() une fonction. Le plus gros avantage de cette fonction est que lorsqu'un fichier est créé avec cette fonction, aucun lien vers ce fichier n'est fait dans le système de fichiers du système et donc, il n'est pas possible pour d'autres processus d'accéder à ces fichiers.
Regardons un programme simple qui utilise les Fichier temporaire() une fonction:
importer le système d'exploitationimporter le fichier temporaire
# Utilisation du PID dans le nom du fichier pour une meilleure identification
fichier = '/tmp/linuxhint_%s.txt' % os.getpid()
# Fournir le mode Fichier
fichier_temp = open(fichier, 'w+b')
essayer:
print('fichier_temp : 0'.format(fichier_temp))
print('fichier_temp.nom : 0'.format(fichier_temp.Nom))
finalement:
fichier_temp.Fermer()
# Supprimer le fichier temporaire nous-mêmes
système d'exploitation.effacer le fichier)
print('Métadonnées du fichier temporaire :')
fichier_temp = fichier_temp.Fichier temporaire()
essayer:
print('fichier_temp : 0'.format(fichier_temp))
print('fichier_temp.nom : 0'.format(fichier_temp.Nom))
finalement:
# Nettoie le fichier lorsque close est appelé
fichier_temp.Fermer()
Voici ce que nous obtenons avec cette commande :
Création d'un fichier temporaire
Ce fichier est supprimé dès que le Fermer() la fonction est appelée sur le fichier temporaire référence.
Lecture à partir d'un fichier temporaire
Même la lecture à partir d'un fichier temporaire est facile et peut être effectuée en un seul appel de méthode dans le même module. L'avantage de cette fonction est que cela nous aide à éviter les opérations d'E/S complexes impliqué si nous devons faire ces opérations manuellement. Voici un programme montrant cette fonction en action :
importer le système d'exploitationimporter le fichier temporaire
fichier_temp = fichier_temp.Fichier temporaire()
essayer:
print('Écriture des données dans le fichier temporaire :')
fichier temporaire.écrire (b'Toutes les données peuvent aller ici.')
fichier temporaire.chercher(0)
print('Lecture du fichier temporaire du formulaire de données : \n\t0'.format(fichier temporaire.lis()))
finalement:
fichier temporaire.Fermer()
Voyons le résultat de cette commande :
Python lu à partir d'un fichier temporaire
Tout le texte des fichiers temporaires a été renvoyé avec un seul appel de méthode.
Écriture de texte brut dans un fichier temporaire
Dans nos programmes ci-dessus, toutes les données écrites dans les fichiers n'étaient pas sous la forme d'un simple format de texte brut. Si nous voulons le faire pour des opérations de texte simples, nous pouvons simplement modifier le mode de fichier lorsque nous ouvrons le fichier temporaire pour les modifications :
importer le fichier temporaireModeFichier = 'w+t'
avec fichier temporaire.TemporaryFile(mode=fileMode) en tant que fichier :
déposer.writelines(['Linux\n', 'Ubuntu\n'])
déposer.chercher(0)
pour l'élément dans le fichier :
imprimer (élément.rstrip())
Voici ce que nous obtenons avec cette commande :
Écriture de texte brut dans le fichier
Création de fichiers temporaires nommés
Les fichiers qui doivent être répartis sur plusieurs processus doivent être nommés de manière à ce qu'un processus ne les supprime pas une fois terminé. Voici comment nous pouvons créer un fichier nommé temporaire :
importer le système d'exploitationimporter le fichier temporaire
fichier_temp = fichier_temp.NomFichierTemporaire()
essayer:
print('tempFile : 0'.format(tempFile))
print('temp.fichier temporaire : 0'.format(fichier temporaire.Nom))
finalement:
# Supprimer également le fichier
fichier temporaire.Fermer()
print('existe-t-il? : 0'.format(s).chemin.existe (fichier temporaire.Nom)))
Voyons le résultat de cette commande :
Fichier temporaire nommé
Si nous ne supprimons pas le fichier, nous pouvons vérifier son existence dans un autre programme et l'utiliser s'il existe à l'emplacement spécifié.
Fournir le suffixe et le préfixe du nom de fichier
Pour identifier facilement les fichiers qui appartiennent à nos propres processus sur le système de fichiers, nous pouvons également appliquer le suffixe et le préfixe au nom du fichier :
importer le fichier temporairefichier_temp = fichier_temp.NamedTemporaryFile(suffix='_ubuntu',
préfixe='linuxhint_',
dir='/tmp',)
essayer:
print('tempFile:', tempFile)
print('tempFile.nom : ', fichier_temp.Nom)
finalement:
fichier temporaire.Fermer()
Voici ce que nous obtenons avec cette commande :
Application du préfixe et du suffixe au nom de fichier
Nous avons fourni trois paramètres à la méthode qui agit comme suffixe et préfixe pour le nom de fichier qui sera fait à l'emplacement que nous avons spécifié.
Conclusion
Dans cette leçon, nous avons vu comment utiliser le module Python tempfile pour gérer les fichiers temporaires dans notre code. Lisez plus de messages basés sur Python ici.