open() retourne un objet fichier et est généralement appelé avec deux arguments : open(nom du fichier, mode)
>>>> f = open('/tmp/workfile','w')
>>> Imprimer(f)
<ouvrir le fichier'/tmp/workfile', mode'w' à 80a0960>.
Le premier argument est une chaîne de caractères contenant le nom du fichier. Le second argument est une autre chaîne de caractères décrivant l'utilisation du fichier. Le mode peut être'r' si le fichier est en lecture seule,'w' s'il est écrit seul (un fichier existant du même nom est supprimé), et'a' ouvre le fichier pour la pièce jointe ; toutes les données écrites dans le fichier sont automatiquement ajoutées à la fin. r+' ouvre le fichier pour lecture et écriture. L'argument mode est facultatif, s'il est manquant, il assume "r".
Normalement, les fichiers sont ouverts en mode texte, ce qui signifie que les chaînes encodées dans un certain encodage (par défaut UTF-8) sont lues ou écrites en mode texte. Si'b' est ajouté à l'argument mode, le fichier est ouvert en mode binaire, où les données sont lues et écrites comme des objets octets. Ce mode doit être utilisé pour tous les fichiers qui ne contiennent pas de texte.
En mode texte, la fin de la ligne spécifique à la plate-forme (\n sous Unix, \r\n sous Windows) est convertie en une simple \n par défaut en lecture et \n revient à la fin de la ligne spécifique à la plate-forme en écriture. Ce changement caché est idéal pour les fichiers texte, mais endommage les formats de fichiers binaires tels que les fichiers JPEG ou EXE. Soyez très prudent d'utiliser le mode binaire lorsque vous écrivez ou lisez de tels fichiers.
Méthodes des objets du fichier
Les autres exemples de cette section supposent qu'un objet fichier nommé f a déjà été créé.
Pour lire le contenu d'un fichier, vous pouvez appeler f.read(size), qui lit certaines données et les renvoie sous forme de chaîne ou d'objet octet. size est un argument numérique facultatif. S'il est omis ou négatif, tout le contenu du fichier sera lu et retourné, si le fichier est deux fois plus gros que la mémoire de la machine, c'est le problème. Sinon, dans la plupart des octets de taille, ils seront lus et retournés. Lorsque vous arrivez à la fin du fichier, f.read() retourne une chaîne vide ('''''').
f.read() >>>>>>> f.read()
C'est tout le dossier. C'est le moment.
f.read() >>>>>>> f.read()
''
f.readline() lit une seule ligne à partir d'un fichier ; un caractère de saut de ligne (\n) reste à la fin de la chaîne et n'est omis que si la dernière ligne ne se termine pas par un retour de ligne. Ceci rend la valeur de retour unique : si f.readline() retourne une chaîne vide, la fin du fichier est atteinte, alors qu'une ligne vide est représentée par'\n', une chaîne ne contenant qu'un saut de ligne.
>>>> f.readline()
"C'est la première ligne du fichier....
>>>> f.readline()
"Deuxième ligne de rangées
>>>> f.readline()
''
f.readlines() retourne une liste contenant toutes les lignes du fichier. Si un paramètre de taille optionnel est passé, il lit au moins autant d'octets du fichier, plus autant que la ligne suivante est complète et renvoie ces lignes. Ceci est souvent utilisé pour permettre une lecture efficace du fichier par les lignes sans avoir à charger le fichier entier en mémoire. Seules les lignes complètes sont retournées.
>>>> f.readlines()
C'est la première ligne du fichier,'Deuxième ligne du fichier']
Une approche alternative à la lecture des lignes est d'itérer sur l'objet fichier. Il s'agit d'une mémoire efficace et rapide qui conduit à un code plus simple :
>>> par ligne en f :
... imprimer (ligne, fin='''''')
...
C'est la première ligne du fichier.
Deuxième ligne du fichier
L'approche alternative est plus simple, mais n'offre pas de contrôle à grain fin. Comme les deux approches traitent différemment la mise en mémoire tampon des lignes, elles ne doivent pas être mélangées.
f.write(string) écrit le contenu de la chaîne dans le fichier et retourne le nombre
de caractères écrits.
>>>> f.write('Ceci est un test')
18
Pour écrire autre chose qu'une chaîne, il faut d'abord la convertir en chaîne :
>>> valeur = ('La réponse', 42)
>>>>> s = str(valeur)
>>> f.écrire(s)
19
f.tell() retourne un entier représentant la position actuelle de l'objet fichier dans le fichier, mesurée en octets depuis le début du fichier. Pour changer la position de l'objet fichier, il y a f.seek(offset, from_what). La position est calculée en ajoutant le décalage à un point de référence, qui est défini par l'argument from_what. Si from_what est 0, il est mesuré depuis le début du fichier, 1 depuis l'emplacement actuel, 2 depuis la fin du fichier. from_what peut être omis et a la valeur par défaut de 0, qui utilise le début du fichier comme point de référence.open() retourne un objet fichier et est généralement appelé avec deux arguments : open(nom du fichier, mode)
>>>> f = open('/tmp/workfile','w')
>>> Imprimer(f)
<ouvrir le fichier'/tmp/workfile', mode'w' à 80a0960>.
Le premier argument est une chaîne de caractères contenant le nom du fichier. Le second argument est une autre chaîne de caractères décrivant l'utilisation du fichier. Le mode peut être'r' si le fichier est en lecture seule,'w' s'il est écrit seul (un fichier existant du même nom est supprimé), et'a' ouvre le fichier pour la pièce jointe ; toutes les données écrites dans le fichier sont automatiquement ajoutées à la fin. r+' ouvre le fichier pour lecture et écriture. L'argument mode est facultatif, s'il est manquant, il assume "r".
Normalement, les fichiers sont ouverts en mode texte, ce qui signifie que les chaînes encodées dans un certain encodage (par défaut UTF-8) sont lues ou écrites en mode texte. Si'b' est ajouté à l'argument mode, le fichier est ouvert en mode binaire, où les données sont lues et écrites comme des objets octets. Ce mode doit être utilisé pour tous les fichiers qui ne contiennent pas de texte.
En mode texte, la fin de la ligne spécifique à la plate-forme (\n sous Unix, \r\n sous Windows) est convertie en une simple \n par défaut en lecture et \n revient à la fin de la ligne spécifique à la plate-forme en écriture. Ce changement caché est idéal pour les fichiers texte, mais endommage les formats de fichiers binaires tels que les fichiers JPEG ou EXE. Soyez très prudent d'utiliser le mode binaire lorsque vous écrivez ou lisez de tels fichiers.
Méthodes des objets du fichier
Les autres exemples de cette section supposent qu'un objet fichier nommé f a déjà été créé.
Pour lire le contenu d'un fichier, vous pouvez appeler f.read(size), qui lit certaines données et les renvoie sous forme de chaîne ou d'objet octet. size est un argument numérique facultatif. S'il est omis ou négatif, tout le contenu du fichier sera lu et retourné, si le fichier est deux fois plus gros que la mémoire de la machine, c'est le problème. Sinon, dans la plupart des octets de taille, ils seront lus et retournés. Lorsque vous arrivez à la fin du fichier, f.read() retourne une chaîne vide ('''''').
f.read() >>>>>>> f.read()
C'est tout le dossier. C'est le moment.
f.read() >>>>>>> f.read()
''
f.readline() lit une seule ligne à partir d'un fichier ; un caractère de saut de ligne (\n) reste à la fin de la chaîne et n'est omis que si la dernière ligne ne se termine pas par un retour de ligne. Ceci rend la valeur de retour unique : si f.readline() retourne une chaîne vide, la fin du fichier est atteinte, alors qu'une ligne vide est représentée par'\n', une chaîne ne contenant qu'un saut de ligne.
>>>> f.readline()
"C'est la première ligne du fichier....
>>>> f.readline()
"Deuxième ligne de rangées
>>>> f.readline()
''
f.readlines() retourne une liste contenant toutes les lignes du fichier. Si un paramètre de taille optionnel est passé, il lit au moins autant d'octets du fichier, plus autant que la ligne suivante est complète et renvoie ces lignes. Ceci est souvent utilisé pour permettre une lecture efficace du fichier par les lignes sans avoir à charger le fichier entier en mémoire. Seules les lignes complètes sont retournées.
>>>> f.readlines()
C'est la première ligne du fichier,'Deuxième ligne du fichier']
Une approche alternative à la lecture des lignes est d'itérer sur l'objet fichier. Il s'agit d'une mémoire efficace et rapide qui conduit à un code plus simple :
>>> par ligne en f :
... imprimer (ligne, fin='''''')
...
C'est la première ligne du fichier.
Deuxième ligne du fichier
L'approche alternative est plus simple, mais n'offre pas de contrôle à grain fin. Comme les deux approches traitent différemment la mise en mémoire tampon des lignes, elles ne doivent pas être mélangées.
f.write(string) écrit le contenu de la chaîne dans le fichier et retourne le nombre de caractères écrits.
>>>> f.write('Ceci est un test')
18
Pour écrire autre chose qu'une chaîne, il faut d'abord la convertir en chaîne :
>>> valeur = ('La réponse', 42)
>>>>> s = str(valeur)
>>> f.écrire(s)
19
f.tell() retourne un entier représentant la position actuelle de l'objet fichier dans le fichier, mesurée en octets depuis le début du fichier. Pour changer la position de l'objet fichier, il y a f.seek(offset, from_what). La position est calculée en ajoutant le décalage à un point de référence, qui est défini par l'argument from_what. Si from_what est 0, il est mesuré depuis le début du fichier, 1 depuis l'emplacement actuel, 2 depuis la fin du fichier. from_what peut être omis et a la valeur par défaut de 0, qui utilise le début du fichier comme point de référence.