Module Python Tempfile

Module Python Tempfile
Souvent dans nos programmes, nous devons stocker des informations temporaires sur l'état du programme et des objets qui pourraient ou non vivre au-delà de l'état du programme lui-même. Les données enregistrées dans ces fichiers peuvent ne pas être sous la forme lisible par l'homme ou même sous une forme qui peut être utilisée par quiconque, mais certains programmes, algorithmes ou pirates peuvent trouver un moyen d'obtenir des informations de ces données qui peuvent sacrifier le Sécurité du système. Nous devons donc créer une logique qui crée ces fichiers, écrire des données, puis supprimer également les fichiers. Et s'il y avait quelque chose qui résume tant d'opérations dans notre programme? On dirait qu'il y a un module en python pour le même, le temporaire module.

Exemples avec le module TempFile

Nous commencerons par des exemples simples avec le Python temporaire module ici.

Création de fichiers temporaires

La première chose nécessaire pour enregistrer des données temporaires est les fichiers où nous pouvons stocker ces données. Cela peut être fait en utilisant le Fichier temporaire() fonction. Le plus grand avantage de cette fonction est lorsqu'un fichier est créé avec cette fonction, aucun lien vers ce fichier n'est réalisé dans le système de fichiers du système et il n'est donc pas possible pour d'autres processus d'accéder à ces fichiers.

Regardons un programme simple qui utilise le Fichier temporaire() fonction:

Importer un système d'exploitation
Importer Tempfile
# Utilisation de PID dans le nom de fichier pour une meilleure identification
file = '/ tmp / linuxhint_% s.txt '% os.getpid ()
# Fourniture du mode fichier
temp_file = open (fichier, 'w + b')
essayer:
print ('temp_file: 0'.format (temp_file))
imprimer ('temp_file.Nom: 0 '.format (temp_file.nom))
enfin:
Temp_file.fermer()
# Supprimer le fichier temporaire nous-mêmes
OS.effacer le fichier)
Print ('Métadata de fichiers temporaires:')
temp_file = tempfile.Fichier temporaire()
essayer:
print ('temp_file: 0'.format (temp_file))
imprimer ('temp_file.Nom: 0 '.format (temp_file.nom))
enfin:
# Nettoie le fichier lorsque la fermeture est appelée
Temp_file.fermer()

Voici ce que nous récupérons 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 temporaire référence.

Lecture à partir du fichier temporaire

Même la lecture d'un fichier temporaire est facile et peut être effectuée dans un seul appel de méthode dans le même module. L'avantage avec cette fonction est que Cela nous aide à éviter les opérations IO complexes impliqué si nous devons faire ces opérations manuellement. Voici un programme montrant cette fonction en action:

Importer un système d'exploitation
Importer Tempfile
Tempfile = Tempfile.Fichier temporaire()
essayer:
Imprimer ('Écrire des données à Tempfile:')
temporaire.Écrire (les données peuvent aller ici.')
temporaire.chercher (0)
Print ('Reading Data Form Tempfile: \ n \ t 0'.format (temp.lire()))
enfin:
temporaire.fermer()

Voyons la sortie de cette commande:

Python Lire à partir du fichier temporaire

Tout le texte des fichiers temporaires a été remis avec un seul appel de méthode.

Écriture de texte clair dans un fichier temporaire

Dans nos programmes ci-dessus, toutes les données écrites dans les fichiers ne prenaient pas la forme de format de texte simple simple. 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 Tempfile
fileMode = 'w + t'
avec Tempfile.TemporaryFile (mode = fileMode) en tant que fichier:
déposer.écrivains (['Linux \ n', 'Ubuntu \ n'])
déposer.chercher (0)
pour l'élément dans le fichier:
imprimer (article.rStrip ())

Voici ce que nous récupérons avec cette commande:

Écrire un texte brut dans le fichier

Création de fichiers temporaires nommés

Les fichiers qui doivent être étendues sur plusieurs processus doivent être nommés afin qu'un processus ne les supprime pas lors de sa fin. Voici comment nous pouvons créer un fichier nommé temporaire:

Importer un système d'exploitation
Importer Tempfile
Tempfile = Tempfile.NamedTemporaryFile ()
essayer:
print ('tempfile: 0'.format (tempfile))
imprimer ('temp.Tempfile: 0 '.format (temp.nom))
enfin:
# Supprimer le fichier également
temporaire.fermer()
imprimer ('existe? : 0 '.format (OS.chemin.Existe (Tempfile.nom)))

Voyons la sortie de cette commande:

Nommé Tempfile

Si nous ne supprimons pas le fichier, nous pouvons vérifier son existence dans un autre programme et l'utiliser si elle existe à l'emplacement spécifié.

Fourniture de nom de fichier et préfixe

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 Tempfile
Tempfile = Tempfile.NamedTemporaryFile (suffixe = '_ Ubuntu',
prefix = 'linuxhint_',
dir = '/ tmp',)
essayer:
Print ('Tempfile:', Tempfile)
Imprimer ('Tempfile.Nom: ', Tempfile.nom)
enfin:
temporaire.fermer()

Voici ce que nous récupérons avec cette commande:

Appliquer le préfixe et le 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 un emplacement que nous avons spécifié.

Conclusion

Dans cette leçon, nous avons examiné comment nous pouvons utiliser le module Python Tempfile pour gérer les fichiers temporaires dans notre code. Lire la suite de messages basés sur Python ici.