open ( )
DESCRIPTION.
Ouvre un canal pour un fichier texte.
SYNTAXE.
FIC_Fichier = open ( fichier , attribut1 = valeur1 , ... , attributn = valeurn )
FIC_Fichier = ⇨ variable identifiant l’accès au fichier [ OBLIGATOIRE ]
open ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
fichier ⇨ Nom du fichier (ou descripteur) à ouvrir [ OBLIGATOIRE ]
attribut = valeur ⇨ attribut à modifier avec sa valeur [ optionnel ]
REMARQUES.
fichier doit être un nom de fichier valide, ou un nombre entier désignant le descripteur de fichier à envelopper. fichier en plus du nom du fichier et son extension, peut/doit donner le chemin (absolu ou relatif) du répertoire contenant le fichier à ouvrir. Si c'est un descripteur de fichier qui est spécifié, il sera fermé en même temps que l'objet I/O renvoyé, sauf si closefd = False.
Une bonne pratique, et même la meilleure, et de toujours utiliser l'instruction with pour l'ouverture de fichiers dans vos applications. En effet, l'emploi de with vous garantira une fermeture propre et correct du fichier, quelque soit la raison de la sortie du bloc initié par with, même si votre application a levé une exception, gérée ou non, durant l'ouverture d'un fichier. Il est donc conseillé de d'ouvrir un fichier comme ceci :
with open ( "nomdufichier" ) as FIL_Fichier :
for keng in FIL_Fichier :
print ( keng , end = "" )
A la sortie du bloc with, le fichier se ferme automatiquement puisque vous avez travaille avec l'objet FIL_Fichier. Notez enfin qu'il est possible de savoir si un fichier est fermé avec FIL_Fichier.closed qui retourne True si FIL_Fichier est fermé et False dans le cas contraire.
Voir l'instruction with pour plus de détails ...
Les variables globales de type fichier (de données) sont identifiées dans le site par : FIC_.
Voir les conventions sur les variables utilisées dans ce site ...
UTILISER UN FICHIER TEXTE.
Voir le tutoriel sur les fichiers texte ...
LES ATTRIBUTS DE OPEN.
Tout attribut utilisé doit être implicitement nommé.
mode = choix
précise dans quel mode le fichier doit être ouvert. Les fichiers ouvert en binaire (mode = "b") , retourne leurs enregistrements sous forme de Bytes sans décodage. Les fichiers ouvert en texte (mode = "t") , retourne leurs enregistrements sous forme de chaines de caractères, décodées soit en fonction de l'environnent soit en fonction de l'option de l'attribut encoding s'il est présent. choix peut prendre les valeurs suivantes :
"r" : fichier est ouvert en mode lecture. C'est le mode par défaut.
"w" : fichier est ouvert en mode écriture. Si un fichier de même nom existe, il est remplacé (effacé) par un fichier vide.
"x" : fichier est ouvert en mode écriture s'il n'existe pas. Si fichier existe, l'ouverture échoue, fichier est reste dans son état.
"a" : fichier est ouvert en mode écriture. les nouveau enregistrement son placés à la fin du fichier.
"b" : fichier est ouvert en mode binaire.
"t" : fichier est ouvert en mode texte. C'est le mode par défaut.
"+" : fichier est ouvert en mode lecture et écriture, C'est à dire un création et modification en un seul appel.
"rt" : équivaut à mode = "r"; mode par défaut.
"rb" : ouvre fichier en mode binaire, en lecture / écriture, sans le vider les enregistrements existant.
"wb" : ouvre fichier en mode binaire, en lecture / écriture, en créant un nouveau fichier vide.
buffering = choix
permet de configurer l'utilisation de l'espace tampon. choix peut prendre les valeurs suivantes :
0 : désactive le mode tampon. Seulement autorisé si fichier la était ouvert en binaire avec l'attribut mode = "b".
1 : le tampon est en ligne par ligne. Seulement autorisé si fichier la était ouvert en texte avec l'attribut mode = "t".
x : avec x>1. x (un entier supérieur à 1) donne la taille fixe du tampon en octets.
encoding = choix
indique le type d'encodage des caractères dans le fichier texte. Par défaut c'est le type utilisé par la configuration de l'utilisateur (matériel, os, plateforme, ...), en général UTF-8.
errors = choix
précise comment les erreurs d'encodage seront traitées par Python. choix peut prendre les valeurs standards suivantes, mais tous les noms gestionnaires erreurs sont disponible. :
None : lève un ValueError, mode par défaut.
"strict" : lève un ValueError, c'est à dire le même comportement que errors = None.
"ignore" : Ignore les erreurs d'encodage.
"replace" : Insère un marqueur de substitution à la place des données mal encodés (ex. insère "?").
"surrogateescape" : remplace les octets incorrectes par un caractère privés.
Les valeurs d'attributs présentés ci-dessus sont les attributs standards,
newline = choix
controle le fonctionnement du mode universal newline. En lecture, choix peut prendre les valeurs suivantes :
None : Les lignes lues peuvent terminer par '\n', '\r', ou '\r\n', qui sont remplacés par '\n', avant d'être données à l'appelant.
"*" : Les fin de lignes ne sont pas remplacés.
"autre" : Les lignes sont seulement terminées par la chaîne donnée dans "autre".
En écriture, choix peut prendre les valeurs suivantes :
None : chaque '\n' est remplacé par un séparateur de ligne.
"*" : aucun '\n' n'est remplacé.
"autre" : chaque '\n' est remplacé par la chaîne donnée dans "autre".
closefd = choix
indique si le descripteur de fichier sera fermé. Si closefd = False ferme le descripteur de fichier fourni, mais le fichier reste ouvert. closefd = False ne doit être employé qu'avec un descripteur de fichier. Si fichier est un nom de fichier c'est closefd = True (mode par défaut) qui doit être utilisé, si l'on souhaite préciser un comportement pour closefd.
opener = choix
peut être utilisé en fournissant un appelable comme opener. Le descripteur de fichier de cet objet fichier sera alors obtenu en appelant opener avec (file, flags). opener doit renvoyer un descripteur de fichier ouvert.
EXEMPLES.
FIC_Fichier = open ( "Essais.txt" )
Ouvre le fichier Essais.txt qui se trouve dans le répertoire courant en mode lecture. Si ce fichier est absent, il est créé.
FIC_Fichier = open ( "lecteur/Document/Essais.txt" )
Ouvre le fichier Essais.txt qui se trouve dans le répertoire Document du lecteur précisé (selon l'OS de l'utilisateur) courant en mode lecture.
FIC_Fichier = open ( "Essais.txt" , mode = "r" )
Ouvre le fichier Essais.txt en mode lecture. Si ce fichier est absent, il est créé.
FIC_Fichier = open ( "Essais.txt" , mode = "w" )
Créé et ouvre le fichier Essais.txt en mode écriture. Si un fichier de ce nom existait, il sera d'abord supprimé.
FIC_Fichier = open ( "Essais.txt" , mode = "a" )
Ouvre le fichier Essais.txt en mode écriture. Les nouveau enregistrement seront écrit à la suite des enregistrements précédents.
FIC_Fichier = open ( "Essais.txt" , mode = "r" , encoding = "utf-8" )
Ouvre le fichier Essais.txt en mode lecture. Si ce fichier est absent, il est créé. Les caractères seront encodés selon la norme utf-8. Il est conseillé de toujours préciser l'encodage, et si possible prendre "utf-8" comme standard.
MÉTHODES SPÉCIFIQUES AUX FICHIERS TEXTE.
close ( ) : vide la mémoire tampon et ferme le fichier.
read ( ) : lit le nombre de caractères demandés.
readline ( ) : lit tous les caractères jusqu'au saut de ligne suivant.
readlines ( ) : retourne les lignes présentes dans une list ( ).
seek ( ) : modifie l'emplacement du pointeur dans le fichier.
tell ( ) : retourne la position actuelle du pointeur dans le fichier.
write ( ) : écrit dans le fichier une nouvelle la chaîne de caractères.
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de