Ouvrez un fichier dans Python en utilisant la déclaration 'avec'

Ouvrez un fichier dans Python en utilisant la déclaration 'avec'
Lorsque cela nécessite de stocker des données en permanence à des fins de programmation, alors un fichier est utilisé pour effectuer cette tâche. Généralement, le ouvrir() La fonction est utilisée dans Python pour ouvrir un fichier pour la lecture et l'écriture. Le ouvrir() La méthode renvoie un objet pour travailler avec le fichier. Lorsqu'un fichier est ouvert par le ouvrir() fonction, alors il faut fermer le fichier. En utilisant le 'avec'La déclaration est la façon alternative d'ouvrir un fichier dans Python. C'est mieux que le ouvrir() fonction et il aide à gérer la ressource plus efficacement car elle garantit que la ressource ouverte est fermée en fermant automatiquement le fichier après avoir terminé la tâche. L'erreur d'ouverture du fichier peut également être gérée sans bloc d'essai à l'aide du 'à l'aide du'avec' déclaration.

Syntaxe:

La syntaxe du 'avec'déclaration pour ouvrir un fichier pour la lecture et l'écriture a montré ci-dessous.

avec Open (fichier, mode) en tant que fichier_handler

  • Le premier argument est obligatoire et contient le nom de fichier.
  • Le deuxième argument est facultatif qui est utilisé pour définir le mode d'ouverture du fichier à lire ou à écrire ou à ajouter.

Exemple-1: Lisez un fichier texte à l'aide de l'instruction 'avec'

Créez un fichier Python avec le script suivant qui ouvrira un fichier texte en utilisant le 'avec' déclaration. Ici le temp.SMS le fichier sera ouvert à la lecture et le LEADLINES () La fonction sera utilisée pour lire le contenu du fichier et le stocker dans une variable de liste. Ensuite, la boucle FOR itérera les valeurs de liste et imprimera le contenu du fichier. Le fermé l'attribut sera Vrai Après avoir lu le contenu du fichier.

#Open un fichier pour la lecture en utilisant la déclaration «avec»
avec Open ('' Ventes.txt ') comme fh:
#Read File Line par ligne et stocker dans une liste
données = FH.LEADLINES ()
#Iter la liste et imprimer chaque valeur
pour la valeur des données:
imprimer (valeur, end = ")
#Check Le fichier est fermé ou non
Si fh.fermé :
imprimer ("\ nthe le fichier est fermé.")

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus si le ventes.SMS Le fichier existe dans l'emplacement actuel. La sortie montre que le fichier est fermé automatiquement après avoir terminé la lecture du fichier.

Exemple-2: Lisez un fichier binaire en utilisant la déclaration «avec»

Créez un fichier Python avec le script suivant qui ouvrira un fichier binaire pour la lecture et calculera la taille du fichier en octets. Le nom de fichier sera tiré de l'utilisateur.

Module #mport OS
Importer un système d'exploitation
#Take le nom de fichier de l'utilisateur
FileName = Input ("Entrez un nom d'image:")
#Check le nom de fichier existe ou non
Si OS.chemin.existe (nom de fichier):
#Open le nom de fichier pour la lecture
avec Open (nom de fichier, «RB») comme IMG:
#Initialisez le comptoir
compteur = 0
#Read le contenu du fichier
tandis que img.lire (vrai):
#Increment le comptoir
compteur + = 1
Imprimer ("La taille du fichier image est:% d octets." %comptoir)
autre:
imprimer ("le fichier n'existe pas.")

Sortir:

La sortie similaire suivante apparaîtra après avoir exécuté le script ci-dessus si le oiseau.jpeg Le fichier existe dans l'emplacement actuel. La sortie montre que la taille du fichier est de 9946 octets.

Exemple-3: utilisation des déclarations imbriquées «avec»

Créez un fichier Python avec le script suivant qui ouvrira un fichier pour la lecture et ouvrira un autre fichier pour écrire en utilisant les déclarations imbriquées 'avec'. La première 'avec'La déclaration est utilisée pour ouvrir le jour de la semaine.SMS Fichier pour la lecture qui est créé avant. La deuxième 'avec'La déclaration est utilisée pour ouvrir les vacances.SMS fichier pour écrire le contenu spécifique de la jour de la semaine.SMS déposer.

#Open un fichier pour la lecture
avec Open ('' en semaine.txt ',' r ') comme fh_in:
#Open un fichier pour l'écriture
avec Open ('' Holiday.txt ',' w ') as fh_out:
# Lire les fichiers ligne par ligne et stocker dans une liste
data = fh_in.LEADLINES ()
pour Val dans les données:
# Cochez l'état avant d'écrire
Si Val.Strip () == 'Saturday' ou Val.Strip () == 'Sunday':
fh_out.Écrire (Val)
imprimer ("Les vacances sont: \ n")
#Ouir le fichier nouvellement créé pour la lecture
avec Open ('' Holiday.txt ',' r ') as fh:
# Lire les fichiers ligne par ligne et stocker dans une liste
données = FH.LEADLINES ()
pour Val dans les données:
Imprimer (Val)

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.

Exemple-4: ouvrez plusieurs fichiers dans une seule instruction 'avec'

Créez un fichier Python avec le script suivant qui ouvrira deux fichiers à écrire en utilisant un seul 'avec' déclaration. Le script ouvrira le jour de la semaine.SMS le fichier pour la lecture et un contenu spécifique de ce fichier seront écrits dans le out1.SMS fichier et out2.SMS déposer. Ensuite, les deux fichiers récemment écrits seront ouverts pour la lecture et le contenu de ces fichiers sera imprimé.

#Open deux fichiers pour l'écriture
avec ouvert ('out1.txt ',' w ') as fh1, ouvert (' out2.txt ',' w ') comme fh2:
# Ouvrez un fichier pour la lecture
avec Open ('' en semaine.txt ',' r ') comme fh_in:
# Lire les fichiers ligne par ligne et stocker dans une liste
data = fh_in.LEADLINES ()
pour Val dans les données:
# Cochez l'état avant d'écrire
Si Val.Strip () == 'Saturday' ou Val.Strip () == 'Sunday':
fh2.Écrire (Val)
autre:
FH1.Écrire (Val)
#Open deux fichiers nouvellement écrits pour la lecture
avec ouvert ('out1.txt ',' r ') as fh1, ouvert (' out2.txt ',' r ') comme fh2:
Imprimer (FH1.LEADLINES ())
Imprimer (FH2.LEADLINES ())

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.

Exemple-5: Comparez «avec» Instruction avec la fonction Open () et la fonction Open ()

Créez un fichier Python avec le script suivant qui ouvrira le même fichier nommé jour de la semaine.SMS en utilisant le 'avec'déclaration et ouvrir() fonction. Il a été démontré dans l'exemple précédent que le fichier est fermé automatiquement après avoir lu ou écrit le contenu, s'il est ouvert en utilisant le 'avec' déclaration. Mais le fichier doit fermer en utilisant la fermeture() fonction, si le fichier est ouvert en utilisant l'Open () fonction qui a été montrée en utilisant le bloc d'essai dans ce script.

# Déclarer une fonction pour vérifier que le fichier est fermé ou non
Def Check (F):
Si f.fermé:
Imprimer ("Le fichier a été fermé.")
autre:
Imprimer ("Le fichier n'a pas encore fermé.")
# Ouvrez un fichier à lire en utilisant la déclaration 'avec'
avec Open ('' en semaine.txt ') comme fh:
données = FH.lire()
# Appelez la fonction Check ()
Vérifier (FH)
# Ouvrez un fichier pour la lecture en utilisant une fonction Open ()
FH = Open ('' en semaine.SMS')
essayer:
données = FH.lire()
# Appelez la fonction Check ()
Vérifier (FH)
enfin:
fh.fermer()
# Appelez la fonction Check ()
Vérifier (FH)

Sortir:


La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.

Conclusion

Différentes utilisations du 'avec'instruction pour ouvrir n'importe quel fichier pour la lecture ou l'écriture a été affichée dans ce tutoriel en utilisant des exemples simples qui aideront les utilisateurs de Python à connaître les objectifs de l'utilisation du'avec'déclaration dans Python.