Python - E / S de fichiers
Ce chapitre couvre toutes les fonctions d'E / S de base disponibles en Python. Pour plus de fonctions, veuillez vous référer à la documentation Python standard.
Impression à l'écran
Le moyen le plus simple de produire une sortie consiste à utiliser l' instruction print dans laquelle vous pouvez transmettre zéro ou plusieurs expressions séparées par des virgules. Cette fonction convertit les expressions que vous passez en une chaîne et écrit le résultat dans la sortie standard comme suit -
#!/usr/bin/python
print "Python is really a great language,", "isn't it?"
Cela produit le résultat suivant sur votre écran standard -
Python is really a great language, isn't it?
Lecture de l'entrée du clavier
Python fournit deux fonctions intégrées pour lire une ligne de texte à partir d'une entrée standard, qui par défaut provient du clavier. Ces fonctions sont -
- raw_input
- input
La fonction raw_input
La fonction raw_input ([prompt]) lit une ligne à partir de l'entrée standard et la renvoie sous forme de chaîne (en supprimant la nouvelle ligne de fin).
#!/usr/bin/python
str = raw_input("Enter your input: ")
print "Received input is : ", str
Cela vous invite à entrer une chaîne et elle affichera la même chaîne à l'écran. Quand j'ai tapé "Hello Python!", Sa sortie est comme ceci -
Enter your input: Hello Python
Received input is : Hello Python
La fonction d' entrée
La fonction input ([prompt]) est équivalente à raw_input, sauf qu'elle suppose que l'entrée est une expression Python valide et vous renvoie le résultat évalué.
#!/usr/bin/python
str = input("Enter your input: ")
print "Received input is : ", str
Cela produirait le résultat suivant par rapport à l'entrée entrée -
Enter your input: [x*5 for x in range(2,10,2)]
Recieved input is : [10, 20, 30, 40]
Ouverture et fermeture de fichiers
Jusqu'à présent, vous lisiez et écriviez sur l'entrée et la sortie standard. Maintenant, nous allons voir comment utiliser les fichiers de données réels.
Python fournit les fonctions et méthodes de base nécessaires pour manipuler les fichiers par défaut. Vous pouvez effectuer la plupart des manipulations de fichiers en utilisant unfile objet.
La fonction ouverte
Avant de pouvoir lire ou écrire un fichier, vous devez l'ouvrir à l'aide de la fonction open () intégrée de Python . Cette fonction crée unfile objet, qui serait utilisé pour appeler d'autres méthodes de support qui lui sont associées.
Syntaxe
file object = open(file_name [, access_mode][, buffering])
Voici les détails des paramètres -
file_name - L'argument nom_fichier est une valeur de chaîne contenant le nom du fichier auquel vous souhaitez accéder.
access_mode- Le access_mode détermine le mode dans lequel le fichier doit être ouvert, c'est-à-dire lire, écrire, ajouter, etc. Une liste complète des valeurs possibles est donnée ci-dessous dans le tableau. Il s'agit d'un paramètre facultatif et le mode d'accès aux fichiers par défaut est read (r).
buffering- Si la valeur de mise en mémoire tampon est définie sur 0, aucune mise en mémoire tampon n'a lieu. Si la valeur de mise en mémoire tampon est 1, la mise en mémoire tampon de ligne est effectuée lors de l'accès à un fichier. Si vous spécifiez la valeur de mise en mémoire tampon sous la forme d'un entier supérieur à 1, l'action de mise en mémoire tampon est exécutée avec la taille de mémoire tampon indiquée. Si négatif, la taille de la mémoire tampon est la valeur par défaut du système (comportement par défaut).
Voici une liste des différents modes d'ouverture d'un fichier -
N ° Sr. | Modes et description |
---|---|
1 | r Ouvre un fichier en lecture seule. Le pointeur de fichier est placé au début du fichier. C'est le mode par défaut. |
2 | rb Ouvre un fichier en lecture uniquement au format binaire. Le pointeur de fichier est placé au début du fichier. C'est le mode par défaut. |
3 | r+ Ouvre un fichier en lecture et en écriture. Le pointeur de fichier placé au début du fichier. |
4 | rb+ Ouvre un fichier pour la lecture et l'écriture au format binaire. Le pointeur de fichier placé au début du fichier. |
5 | w Ouvre un fichier pour l'écriture uniquement. Remplace le fichier si le fichier existe. Si le fichier n'existe pas, crée un nouveau fichier à écrire. |
6 | wb Ouvre un fichier pour l'écriture uniquement au format binaire. Remplace le fichier si le fichier existe. Si le fichier n'existe pas, crée un nouveau fichier à écrire. |
sept | w+ Ouvre un fichier pour l'écriture et la lecture. Remplace le fichier existant si le fichier existe. Si le fichier n'existe pas, crée un nouveau fichier pour la lecture et l'écriture. |
8 | wb+ Ouvre un fichier pour l'écriture et la lecture au format binaire. Remplace le fichier existant si le fichier existe. Si le fichier n'existe pas, crée un nouveau fichier pour la lecture et l'écriture. |
9 | a Ouvre un fichier à ajouter. Le pointeur de fichier est à la fin du fichier si le fichier existe. Autrement dit, le fichier est en mode ajout. Si le fichier n'existe pas, il crée un nouveau fichier à écrire. |
dix | ab Ouvre un fichier à ajouter au format binaire. Le pointeur de fichier est à la fin du fichier si le fichier existe. Autrement dit, le fichier est en mode ajout. Si le fichier n'existe pas, il crée un nouveau fichier à écrire. |
11 | a+ Ouvre un fichier pour l'ajout et la lecture. Le pointeur de fichier est à la fin du fichier si le fichier existe. Le fichier s'ouvre en mode ajout. Si le fichier n'existe pas, il crée un nouveau fichier pour la lecture et l'écriture. |
12 | ab+ Ouvre un fichier pour l'ajout et la lecture au format binaire. Le pointeur de fichier est à la fin du fichier si le fichier existe. Le fichier s'ouvre en mode ajout. Si le fichier n'existe pas, il crée un nouveau fichier pour la lecture et l'écriture. |
Le fichier des attributs d'objet
Une fois qu'un fichier est ouvert et que vous avez un objet fichier , vous pouvez obtenir diverses informations relatives à ce fichier.
Voici une liste de tous les attributs liés à l'objet fichier -
N ° Sr. | Attribut et description |
---|---|
1 | file.closed Renvoie true si le fichier est fermé, false dans le cas contraire. |
2 | file.mode Renvoie le mode d'accès avec lequel le fichier a été ouvert. |
3 | file.name Renvoie le nom du fichier. |
4 | file.softspace Renvoie false si l'espace est explicitement requis avec print, true sinon. |
Exemple
#!/usr/bin/python
# Open a file
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name
print "Closed or not : ", fo.closed
print "Opening mode : ", fo.mode
print "Softspace flag : ", fo.softspace
Cela produit le résultat suivant -
Name of the file: foo.txt
Closed or not : False
Opening mode : wb
Softspace flag : 0
La méthode close ()
La méthode close () d'un objet fichier vide toutes les informations non écrites et ferme l'objet fichier, après quoi aucune écriture ne peut plus être effectuée.
Python ferme automatiquement un fichier lorsque l'objet de référence d'un fichier est réaffecté à un autre fichier. Il est recommandé d'utiliser la méthode close () pour fermer un fichier.
Syntaxe
fileObject.close()
Exemple
#!/usr/bin/python
# Open a file
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name
# Close opend file
fo.close()
Cela produit le résultat suivant -
Name of the file: foo.txt
Lecture et écriture de fichiers
L' objet fichier fournit un ensemble de méthodes d'accès pour nous faciliter la vie. Nous verrons comment utiliser les méthodes read () et write () pour lire et écrire des fichiers.
La méthode write ()
La méthode write () écrit n'importe quelle chaîne dans un fichier ouvert. Il est important de noter que les chaînes Python peuvent avoir des données binaires et pas seulement du texte.
La méthode write () n'ajoute pas de caractère de nouvelle ligne ('\ n') à la fin de la chaîne -
Syntaxe
fileObject.write(string)
Ici, le paramètre passé est le contenu à écrire dans le fichier ouvert.
Exemple
#!/usr/bin/python
# Open a file
fo = open("foo.txt", "wb")
fo.write( "Python is a great language.\nYeah its great!!\n")
# Close opend file
fo.close()
La méthode ci-dessus créerait un fichier foo.txt et écrirait le contenu donné dans ce fichier et finalement fermerait ce fichier. Si vous ouvrez ce fichier, il aura le contenu suivant.
Python is a great language.
Yeah its great!!
La méthode read ()
La méthode read () lit une chaîne à partir d'un fichier ouvert. Il est important de noter que les chaînes Python peuvent avoir des données binaires. en dehors des données textuelles.
Syntaxe
fileObject.read([count])
Ici, le paramètre passé est le nombre d'octets à lire dans le fichier ouvert. Cette méthode commence la lecture à partir du début du fichier et si le nombre est manquant, elle essaie de lire autant que possible, peut-être jusqu'à la fin du fichier.
Exemple
Prenons un fichier foo.txt , que nous avons créé ci-dessus.
#!/usr/bin/python
# Open a file
fo = open("foo.txt", "r+")
str = fo.read(10);
print "Read String is : ", str
# Close opend file
fo.close()
Cela produit le résultat suivant -
Read String is : Python is
Positions des fichiers
La méthode tell () vous indique la position actuelle dans le fichier; en d'autres termes, la prochaine lecture ou écriture se produira à ce nombre d'octets à partir du début du fichier.
La méthode de recherche (offset [, from]) modifie la position actuelle du fichier. L' argument offset indique le nombre d'octets à déplacer. L' argument from spécifie la position de référence à partir de laquelle les octets doivent être déplacés.
Si from est défini sur 0, cela signifie utiliser le début du fichier comme position de référence et 1 signifie utiliser la position actuelle comme position de référence et s'il est défini sur 2, la fin du fichier sera prise comme position de référence .
Exemple
Prenons un fichier foo.txt , que nous avons créé ci-dessus.
#!/usr/bin/python
# Open a file
fo = open("foo.txt", "r+")
str = fo.read(10)
print "Read String is : ", str
# Check current position
position = fo.tell()
print "Current file position : ", position
# Reposition pointer at the beginning once again
position = fo.seek(0, 0);
str = fo.read(10)
print "Again read String is : ", str
# Close opend file
fo.close()
Cela produit le résultat suivant -
Read String is : Python is
Current file position : 10
Again read String is : Python is
Renommer et supprimer des fichiers
Python os module fournit des méthodes qui vous aident à effectuer des opérations de traitement de fichiers, telles que le changement de nom et la suppression de fichiers.
Pour utiliser ce module, vous devez d'abord l'importer, puis vous pouvez appeler toutes les fonctions associées.
La méthode rename ()
La méthode rename () prend deux arguments, le nom de fichier actuel et le nouveau nom de fichier.
Syntaxe
os.rename(current_file_name, new_file_name)
Exemple
Voici l'exemple pour renommer un fichier existant test1.txt -
#!/usr/bin/python
import os
# Rename a file from test1.txt to test2.txt
os.rename( "test1.txt", "test2.txt" )
La méthode remove ()
Vous pouvez utiliser la méthode remove () pour supprimer des fichiers en fournissant le nom du fichier à supprimer comme argument.
Syntaxe
os.remove(file_name)
Exemple
Voici l'exemple pour supprimer un fichier existant test2.txt -
#!/usr/bin/python
import os
# Delete file test2.txt
os.remove("text2.txt")
Répertoires en Python
Tous les fichiers sont contenus dans divers répertoires et Python n'a aucun problème à les gérer. leos module a plusieurs méthodes qui vous aident à créer, supprimer et modifier des répertoires.
La méthode mkdir ()
Vous pouvez utiliser la méthode mkdir () duosmodule pour créer des répertoires dans le répertoire courant. Vous devez fournir un argument à cette méthode qui contient le nom du répertoire à créer.
Syntaxe
os.mkdir("newdir")
Exemple
Voici l'exemple pour créer un test de répertoire dans le répertoire courant -
#!/usr/bin/python
import os
# Create a directory "test"
os.mkdir("test")
La méthode chdir ()
Vous pouvez utiliser la méthode chdir () pour changer le répertoire courant. La méthode chdir () prend un argument, qui est le nom du répertoire que vous voulez faire du répertoire courant.
Syntaxe
os.chdir("newdir")
Exemple
Voici l'exemple pour aller dans le répertoire "/ home / newdir" -
#!/usr/bin/python
import os
# Changing a directory to "/home/newdir"
os.chdir("/home/newdir")
Le getcwd () Méthode
La méthode getcwd () affiche le répertoire de travail actuel.
Syntaxe
os.getcwd()
Exemple
Voici l'exemple pour donner le répertoire courant -
#!/usr/bin/python
import os
# This would give location of the current directory
os.getcwd()
La méthode rmdir ()
La méthode rmdir () supprime le répertoire, qui est passé en argument dans la méthode.
Avant de supprimer un répertoire, tout son contenu doit être supprimé.
Syntaxe
os.rmdir('dirname')
Exemple
Voici l'exemple de suppression du répertoire "/ tmp / test". Il est nécessaire de donner le nom complet du répertoire, sinon il rechercherait ce répertoire dans le répertoire courant.
#!/usr/bin/python
import os
# This would remove "/tmp/test" directory.
os.rmdir( "/tmp/test" )
Méthodes liées aux fichiers et aux répertoires
Il existe trois sources importantes, qui fournissent un large éventail de méthodes utilitaires pour gérer et manipuler les fichiers et répertoires sur les systèmes d'exploitation Windows et Unix. Ils sont les suivants -
Méthodes __gVirt_NP_NN_NNPS<__ objet de fichier : Le fichier objet fournit des fonctions pour manipuler des fichiers.
Méthodes d'objets du système d'exploitation : elles fournissent des méthodes pour traiter les fichiers ainsi que les répertoires.