Comment créer du contenu Python
Un fichier peut contenir des données structurées ou non structurées. Une base de données, qui est formée d’enregistrements contenant des informations spécifiques, est un bon exemple de données structurées. Une base de données du personnel comprendrait des colonnes pour les noms, l’adresse, la fonction, ainsi qu’un identifiant personnel, et ainsi de suite. Un exemple de données non structurées est fourni par un fichier de traitement de texte dans lequel est enregistré du texte ayant un contenu quelconque dans un ordre indéterminé. Pour autant, dans les deux cas, l’application doit savoir comment effectuer les opérations de base sur ce fichier. En particulier, son contenu doit être préparé de sorte que l’application soit capable d’en lire les données, ou encore d’en écrire de nouvelles.
Mais dans le cas d’un traitement de texte, le document doit suivre une série de règles. Supposons qu’il s’agisse d’un simple texte brut de forme. Mais, même ainsi, chaque paragraphe doit posséder une sorte de délimiteur qui indique à l’application où il se termine et où commence le suivant. L’application peut alors lire le paragraphe jusqu’à ce qu’elle trouve ce délimiteur, puis commencer un nouveau paragraphe. Plus le traitement de texte devient évolué, et plus il doit structurer ses données. Par exemple, la mise en forme de certaines parties du texte, ou plus simplement la police de caractère utilisée, sont autant d’informations qui doivent être enregistrées dans le fichier du document.
Les éléments qui rendent utilisable le contenu d’un stockage permanent sont le plus souvent masqués. Tout ce que vous voyez lorsque vous travaillez avec un fichier, ce sont les données elles-mêmes. Et tout ce qui relève du formatage au sens large reste invisible pour tout un tas de raisons, notamment :
Un caractère de contrôle, comme un retour chariot ou un saut de ligne, est normalement invisible par défaut au niveau de la plate-forme.
- L’application se sert de combinaisons de caractères spéciaux, comme des virgules, des guillemets ou encore des tabulations, pour délimiter les données. Ces combinaisons sont traitées par l’application lorsqu’elle lit les données.
- Au cours du processus de lecture, les caractères sont convertis dans une autre forme, comme dans le cas d’un traitement de texte qui doit interpréter la mise en forme des caractères. Cette mise en forme apparaît sur l’écran, mais, en arrière-plan, le fichier contient des codes spéciaux servant à définir ce formatage.
- Le contenu du fichier peut être enregistré dans un format spécifique, comme du HTML pour une page Web, ou encore du XML pour un document Word. Ce format alternatif est interprété et présenté à l’écran d’une manière compréhensible par l’utilisateur.
Il existe bien entendu d’autres règles. Ainsi, le format .docx de Microsoft Word enregistre les données non seulement au format XML, mais aussi en les compressant au format Zip. Ceci permet de réduire le volume occupé par les documents sur le disque.
Maintenant que vous avez une meilleure idée de ce que peut réclamer la préparation d’un contenu destiné à être enregistré de manière permanente, il est temps de passer à un exercice pratique. Ici, la stratégie de formatage va être assez simple. Cet exemple accepte une saisie, puis il la formate pour la préparer à l’enregistrement, et il présente cette version formatée à l’écran (mais sans la sauvegarder sur le disque pour l’instant). Vous le retrouverez également dans les fichiers téléchargeables FormattedData.py (qui contient la classe servant à formater l’information) et FormattedDataTest.py (qui affiche les données à l’écran).
Du fait que l’exemple va se dérouler en plusieurs étapes, faites d’abord une copie du dossier \BP4D\Chapitre15 sous un nouveau nom (par exemple BP4D\ Chapitre15a).
- 1. Ouvrez une fenêtre de fichier Python.
Vous pouvez par exemple lancer Python en mode Shell, puis choisir dans le menu File la commande New File. - 2. Tapez le code suivant en appuyant sur Entrée à la fin de chaque ligne :
class FormatData: def __init__(self, Name="", Age="0", Married=False): self.Name = Name self.Age = Age self.Married = Married def __str__(self): OutString = "'{0}, {1}, {2}".format( self.Name, self.Age, self.Married) return OutString
L’élément principal à observer est la fonction __str__(). Remarquez qu’elle formate la sortie d’une manière spécifique. La valeur chaîne Name est délimitée par des apostrophes. De plus, chaque valeur est séparée de l’autre par une virgule. Cette mise en forme est en fait courante. Il s’agit du format CSV (Comma Separated Value), qui est employé sur de nombreuses plates-formes, car il est facile à interpréter et ne contient que des informations purement textuelles. - 3. 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 Code\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…). - 4. Ouvrez une autre fenêtre de fichier de Python.
- 5. Tapez le code suivant en appuyant sur Entrée à la fin de chaque ligne :
from FormattedData import FormatData NewData = [FormatData("阿当", 65, True), FormatData("永少", 47, False), FormatData("ren哥", 52, True)] for Entry in NewData: print(Entry)
La plupart du temps, vous travaillez sur plusieurs enregistrements à la fois lorsque vous sauvegardez des données sur le disque. Il peut par exemple s’agir d’un texte entier, ou encore des lignes d’une base de données. Ici, l’exemple crée une liste d’enregistrements et les place dans NewData. En l’occurrence, NewData représente la totalité du document. Bien entendu, dans une application dite de production la représentation prendrait vraisemblablement d’autres formes, mais l’idée est la même.
Toute application qui a besoin de sauvegarder des données doit passer pour cela par un certain type de boucle de sortie. Pour l’instant, cette boucle consiste simplement à afficher les données sur l’écran. Nous passerons plus loin à leur enregistrement physique. - 3. Choisissez la commande Run Module dans le menu Run.
Une fenêtre Python en mode Shell va s’ouvrir. La Figure illustre l’affichage obtenu. Il montre comment les données apparaîtraient dans le fichier. Dans ce cas, chaque enregistrement est séparé du suivant par une combinaison retour chariot et saut de ligne. En d’autres termes, Georges, Sophie et Pierre sont tous des enregistrements distincts dans le fichier. Les champs (ou éléments de donnée) sont séparés par une virgule. Le champ de texte est placé entre apostrophes pour éviter toute confusion avec d’autres types de données.
Figure : Les données de cet exemple sont converties au format CSV.'阿当', 65, True '永少', 47, False 'Ren干', 52, True
Précédent:Effectuer des tâches avancées
- 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
- Créer des groupes de code de Python