issue145:python
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
issue145:python [2019/06/08 08:13] – d52fr | issue145:python [2019/06/11 11:21] (Version actuelle) – auntiee | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
**There are times when you need a number of variables initialized at startup based on the last time the program ran. In the world of Windows, this is usually saved in a configuration file with a " | **There are times when you need a number of variables initialized at startup based on the last time the program ran. In the world of Windows, this is usually saved in a configuration file with a " | ||
- | Il y a des fois où vous avez besoin qu'un certain nombre de variables soient initialisées au démarrage en vous basant sur la dernière fois où le programme a tourné. Dans le monde de Windows, c'est en général enregistré dans un fichier de configuration avec l' | + | Il y a des fois où vous avez besoin qu'un certain nombre de variables soient initialisées au démarrage en vous basant sur la dernière fois où le programme a tourné. Dans le monde de Windows, c'est en général enregistré dans un fichier de configuration avec l' |
**Installation | **Installation | ||
Ligne 19: | Ligne 19: | ||
Installation | Installation | ||
- | La bibliothèque est configparser, | + | La bibliothèque est configparser, |
pip3 install configparser | pip3 install configparser | ||
- | Notez que j'ai utilisé pip3 plutôt que pip. Si vous utilisez toujours Python 2, vous devrez utiliser pip, mais, comme Python 2.x arrivera en fin de vie le 1er janvier 2020, j'ai décidé de n' utiliser désormais que la syntaxe de Python 3.x. La version actuelle est la 3.7.4 (d' | + | Notez que j'ai utilisé pip3 plutôt que pip. Si vous utilisez toujours Python 2, vous devrez utiliser pip, mais, comme Python 2.x arrivera en fin de vie le 1er janvier 2020, j'ai décidé de n' |
from backports import configparser | from backports import configparser | ||
- | Autrement, vous l' | + | Autrement, vous l' |
import configparser | import configparser | ||
Ligne 39: | Ligne 39: | ||
Utilisation | Utilisation | ||
- | Le fichier INI (qui n'est PAS compatible avec le format de fichier « officiel » .ini de Windows) est un simple fichier texte. Vous pouvez utiliser l' | + | Le fichier INI (qui n'est PAS compatible avec le format de fichier « officiel » .ini de Windows) est un simple fichier texte. Vous pouvez utiliser l' |
- | Une idée très grossière de la disposition du fichier .ini pourrait être quelque chose comme ceci... | + | Une idée très grossière de la disposition du fichier .ini pourrait être quelque chose comme ceci : |
**[Animals] | **[Animals] | ||
Ligne 61: | Ligne 61: | ||
The library doesn' | The library doesn' | ||
- | [Animals] | + | [Animals] |
- | animal1 = Frog | + | animal1 = Frog # Grenouille |
- | animal2 = Dog | + | animal2 = Dog # Chien |
- | animal3 = Hog | + | animal3 = Hog # Porc |
- | [Trees] | + | [Trees] |
- | tree1 = The Larch | + | tree1 = The Larch # Mélèze |
- | tree2 = Elm | + | tree2 = Elm # Orme |
- | tree3 = Ash | + | tree3 = Ash # Frêne |
- | Dans cet exemple, nous avons deux sections, « Animals » et « Trees ». Chaque section contient trois variables (animal1, animal 2, etc.) qui sont nos clés et chacune a une valeur. Vous pouvez aussi définir | + | Dans cet exemple, nous avons deux sections, « Animals » et « Trees ». Chaque section contient trois variables (animal1, animal 2, etc.) qui sont nos clés et chacune a une valeur. Vous pouvez aussi définir |
tree4 = | tree4 = | ||
Ligne 77: | Ligne 77: | ||
Cependant, quand vous utilisez la variable « tree4 », c'est une chaîne vierge, et pas None (rien). | Cependant, quand vous utilisez la variable « tree4 », c'est une chaîne vierge, et pas None (rien). | ||
- | La bibliothèque n' | + | La bibliothèque n' |
**The Code | **The Code | ||
Ligne 95: | Ligne 95: | ||
import configparser | import configparser | ||
- | Dans ce simple programme de démo, nous n' | + | Dans ce simple programme de démo, nous n' |
**global iniFileName | **global iniFileName | ||
Ligne 129: | Ligne 129: | ||
This next bit of code (top right) shows how we can view the various sections and key/value sets.** | This next bit of code (top right) shows how we can view the various sections and key/value sets.** | ||
- | Nous définissons un certain nombre de variables globales | + | Nous définissons un certain nombre de variables globales pour faciliter les choses. Ensuite, nous vérifions pour voir si le fichier existe (la méthode os.path.isfile()), puis nous lisons |
if os.path.isfile(iniFileName): | if os.path.isfile(iniFileName): | ||
Ligne 135: | Ligne 135: | ||
ini.read(iniFileName) | ini.read(iniFileName) | ||
- | Ce prochain morceau de code (en haut à droite) montre comment nous pouvons voir les diverses sections et les ensembles clé/ | + | Le prochain morceau de code (en haut à droite) montre comment nous pouvons voir les diverses sections et les ensembles clé/ |
**Now we can assign the values to the proper variables: | **Now we can assign the values to the proper variables: | ||
Ligne 219: | Ligne 219: | ||
config.write(configfile) | config.write(configfile) | ||
| | ||
- | Cette fonction (page suivante, en haut à droite) est simplement | + | Cette fonction (page suivante, en haut à droite) est utilisée pour afficher toutes les variables qui ont été tirées du fichier INI. |
- | C'est dans la fonction init() (page suivante, en bas à droite) que tout le travail effectif s' | + | C'est dans la fonction init() (page suivante, en bas à droite) que tout le travail effectif s' |
- | **Finally, we have our "if __name__" | + | **Finally, we have our "if __name__" |
if __name__ == ' | if __name__ == ' | ||
Ligne 253: | Ligne 253: | ||
Program End** | Program End** | ||
- | Enfin, nous avons notre point d' | + | Enfin, nous avons notre point d' |
if __name__ == ' | if __name__ == ' | ||
Ligne 281: | Ligne 281: | ||
What's the answer to Life, The Universe and Everything? 42 | What's the answer to Life, The Universe and Everything? 42 | ||
theanswer type is <class ' | theanswer type is <class ' | ||
- | Program End** | + | Program End |
**Notice that the value for " | **Notice that the value for " | ||
Ligne 323: | Ligne 323: | ||
Until next time, keep coding and have a great month! ** | Until next time, keep coding and have a great month! ** | ||
- | C'est parce que la dernière ligne de al fonction init() met à jour la variable « tree4 » avec la valeur | + | C'est parce que la dernière ligne de la fonction init() met à jour la variable « tree4 » avec la valeur |
- | Je n'ai pas été cherché trop loin dans les possibilités de cette bibliothèque, | + | Je n'ai pas cherché trop loin dans les possibilités de cette bibliothèque, |
J'ai mis l' | J'ai mis l' |
issue145/python.1559974434.txt.gz · Dernière modification : 2019/06/08 08:13 de d52fr