Comment créer un fichier via Python
2022-10-28 16:10:19
vendredi
8360 mots
Toute donnée créée par l’utilisateur (et/ou l’application) et qui est destinée à être réutilisée pendant plus d’une session doit être sauvegardée sur un support permanent quelconque. Créer un fichier, puis y placer les données voulues est donc une part essentielle du travail avec Python. Vous pouvez utiliser les étapes qui suivent pour créer le code qui va écrire les données sur le disque dur. Cet exemple est également disponible dans les fichiers téléchargeables FormattedData.py et CreateCSV.py.
À nouveau, je vous conseille de travailler sur une nouvelle copie du dossier Code\Chapitre15.
- Ouvrez une fenêtre de fichier Python et chargez-y le fichier FormattedData.py.
Vous devriez retrouver le code créé dans la section précédente. Dans ce qui suit, nous allons le modifier de manière à ce que la classe puisse maintenant sauvegarder un fichier sur le disque. - Ajoutez l’instruction import suivante tout au début du fichier :
import csv
Python supporte nativement un grand nombre de types de fichiers, et il existe également des bibliothèques provenant de sources externes. En cas de besoin, vous devriez donc trouver votre bonheur soit directement dans Python, soit en faisant une recherche sur le Web. Malheureusement, il n’existe pas de liste claire sur les types de fichiers supportés. Vous pouvez le cas échéant consulter les adresses suivantes : https://docs.python.org/fr/3/library/archiving.html (formats d’archives) et https://docs.python.org/fr/3/library/fileformats.html (formats de fichiers). - Tapez le code suivant à la fin du fichier en appuyant sur Entrée à la fin de chaque ligne :
import csv def SaveData(Filename = "", DataList = [ ]): with open(Filename, "w", newline='\n') as csvfile: DataWriter = csv.writer( csvfile, delimiter='\n', quotechar=" ", quoting=csv.QUOTE_NONNUMERIC) DataWriter.writerow(DataList) csvfile.close() print("Données enregistrées !")
Remarquez que la méthode accepte deux arguments en entrée : le nom du fichier utilisé pour sauvegarder les données, et une liste d’éléments à enregistrer. Il s’agit ici d’une méthode de classe, et non d’une méthode d’instance. Vous verrez plus loin en quoi cette façon de procéder est un avantage. Par défaut, l’argument DataList est vide. De cette manière, la méthode ne provoquera pas d’exception si l’appelant ne lui passe rien. Bien entendu, il serait possible d’ajouter du code pour traiter le cas d’une liste vide considérée comme une erreur.
L’instruction with demande à Python d’effectuer une série de tâches à partir d’une ressource spécifique, en l’occurrence un fichier ouvert de type csvfile, et appelé TestFile.csv. La fonction open() accepte différentes entrées selon la manière dont vous l’utilisez. Ici, vous l’ouvrez en mode écriture (signifié par la lettre w, pour write). L’attribut newline indique à Python qu’il doit traiter le caractère de contrôle \n comme un saut de ligne.
Pour écrire la sortie, vous avez besoin d’un objet particulier. Ici, l’objet DataWriter est configuré pour utiliser le type de fichier csvfile, pour définir \n comme délimiteur, marquer les éléments par un espace, et utiliser des apostrophes uniquement avec les valeurs non numériques. À ce stade, nous supposons que c’est exactement ce dont vous avez besoin pour rendre votre sortie utilisable.
En fait, écrire des données demande moins d’efforts que ce que vous pourriez croire. Un simple appel à DataWriter.writerow() avec DataList en entrée est tout ce dont vous avez besoin. Refermez toujours vos fichiers lorsque vous n’en avez plus besoin. Cette action vide les données sur le disque dur en s’assurant qu’elles sont bien écrites. Le code se termine en vous informant que l’opération s’est déroulée avec succès. - Sauvegardez ce code sous le nom de FormattedData.py.
Si vous vous servez du fichier téléchargeable, ne sauvegardez pas cette version allégée de FormattedData.py dans le dossier BP4D\Chapitre15 ! Vous écraseriez purement et simplement la version originale. N’oubliez pas de faire au préalable une copie de travail de ce dossier afin de ne rien perdre (ou plutôt de vous éviter d’avoir à faire les saisies qui suivront à la main…). - Ouvrez une autre fenêtre de fichier de Python.
- Tapez le code suivant en appuyant sur Entrée à la fin de chaque ligne :
from FormattedData import FromatFata NewData = [FormatData("阿当", 65, True), FormatData("用勺", 47,False), FormatData("认个", 52, True)] FormatData.SaveData("TestFile.csv", NewData)
- Choisissez la commande Run Module dans le menu Run.
Une fenêtre Python en mode Shell va s’ouvrir. Un simple message vous indique le succès de l’opération. Bien entendu, ce message ne vous dit rien sur vos données. Vous savez simplement que votre nouveau fichier se trouve dans le même dossier que votre code, et qu’il s’appelle TestFile.csv. La plupart des plates-formes disposent d’une application par défaut pour ouvrir ce type de fichier. Dans le cas de Windows, il s’agit généralement de Microsoft Excel, ou encore de WordPad (parmi d’autres). Les Figures illustrent ces deux cas. À chaque fois, la sortie ressemble étonnamment à celle de la Figure.
Figure : La sortie de l’application telle qu’elle apparaît dans Excel (avec le cas échéant un peu de remise en forme).
Figure : La sortie de l’application telle qu’elle apparaît dans NotePad++.
Relation
- Comment créer du contenu Python
- Python 基础注意事项
- Comment sélectionner des caractères individuels
- Utiliser la documentation des modules de Python
- Dive Into Python
- 笨办法学 Python
- Comment mettre à jour Python
- Voir le contenu d’un module de Python
- Comment changer le dossier courant de Python
- Comment Python importer des modules
Commentaire