Ceci est une ancienne révision du document !
Pour manipuler aisément les fichiers il faut avoir abordé 3 notions:
Pour lire et écrire du texte dans les fichiers, il faut spécifier correctement l'encodage. L'objet fichier est créé avec la fonction built-in open(), il se chargera d'encoder/décoder les caractères en fonction de l'encodage choisit:
file = open('/path/to/file.txt', 'w', encoding='utf8') for cpt in range(100): file.write(f"ligne {cpt:4d}\n") # l'appel de la méthode close() est important file.close()
En python les fichiers sont des itérateur: ils peuvent être directement intégrés à une boucle for:
file = open('/path/to/file.txt', 'r', encoding='utf8') for line in file: # le fichier est parcouru ligne par ligne # transformer la str en liste line = line.split() # la liste étant mutable on peut effectuer nos traitements ... file.close()
Le code précédent ne garantit pas que la ressource fichier soit bien libérée: exception à l’exécution ou oubli d'appel pas la méthode close(). Le protocole de context manager assurer l'ensemble des opérations de libération des ressources auprès du système d'exploitation lorsque un objet python n'est plus utilisé. L'objet fichier implémente ce protocole, pour l'utiliser il faut le placer après l'instruction with:
with open('/path/to/filename.txt') as file: # bloc d'instruction lié au context manager for line in file: print line
with open('/path/to/filename.txt', 'bw') as file:
# bloc d'instruction lié au context manager
for line in range(100):
file.write(b'\0xFF')