Lire et écrire un fichier INI en Python
Un fichier INI
est un fichier de configuration d’un logiciel informatique.
Il contient des paires clé-valeur qui représentent des propriétés et leurs valeurs. Ces paires clé-valeur sont organisées en sections.
Un fichier INI
a pour extension .ini
. Un fichier INI
est utilisé par Microsoft Windows et les applications basées sur Microsoft Windows, et le logiciel utilise des fichiers INI
pour stocker leur configuration.
Python est un langage de programmation robuste et polyvalent qui peut créer des applications de bureau. Étant donné que les applications de bureau incluent des applications et des logiciels basés sur Microsoft Windows, les développeurs Python doivent utiliser des fichiers INI
pour stocker les configurations et les lire chaque fois que nécessaire.
Cet article vous apprendra comment lire et écrire des fichiers INI
en utilisant Python.
Lire et écrire un fichier INI
en Python
Pour lire et écrire des fichiers INI
, nous pouvons utiliser le module configparser
. Ce module fait partie de la bibliothèque standard de Python et est conçu pour gérer les fichiers INI
trouvés dans Microsoft Windows.
Ce module possède une classe ConfigParser
contenant tous les utilitaires pour jouer avec les fichiers INI
. Nous pouvons utiliser ce module pour notre cas d’utilisation.
Comprenons l’utilisation de cette bibliothèque à l’aide d’un exemple simple. Reportez-vous au code Python suivant pour cela.
import configparser
filename = "file.ini"
# Writing Data
config = configparser.ConfigParser()
config.read(filename)
try:
config.add_section("SETTINGS")
except configparser.DuplicateSectionError:
pass
config.set("SETTINGS", "time", "utc")
config.set("SETTINGS", "time_format", "24h")
config.set("SETTINGS", "language", "english")
config.set("SETTINGS", "testing", "false")
config.set("SETTINGS", "production", "true")
with open(filename, "w") as config_file:
config.write(config_file)
# Reading Data
config.read(filename)
keys = ["time", "time_format", "language", "testing", "production"]
for key in keys:
try:
value = config.get("SETTINGS", key)
print(f"{key}:", value)
except configparser.NoOptionError:
print(f"No option '{key}' in section 'SETTINGS'")
Production :
time: utc
time_format: 24h
language: english
testing: false
production: true
Explication du code Python
Le script Python crée d’abord un objet de la classe ConfigParser
et lit le fichier INI
spécifié par le filename
. Il n’y aura aucun problème si le fichier n’existe pas dans le chemin spécifié.
try:
config.add_section("SETTINGS")
except configparser.DuplicateSectionError:
pass
Ensuite, il essaie de créer une section SETTINGS
dans le fichier INI
en utilisant la méthode add_section()
.
La méthode add_section()
lève une exception configparser.DuplicateSectionError
lorsque la section existe déjà dans le fichier INI
. C’est pourquoi l’appel de fonction est entouré de blocs try
et except
.
config.set("SETTINGS", "time", "utc")
config.set("SETTINGS", "time_format", "24h")
config.set("SETTINGS", "language", "english")
config.set("SETTINGS", "testing", "false")
config.set("SETTINGS", "production", "true")
Ensuite, en utilisant la fonction set()
, nous écrivons des données dans le fichier INI
.
La fonction set()
demande trois arguments, à savoir section
, option
et value
. Cela signifie qu’une paire clé-valeur sera ajoutée sous la section
, où la clé est l’option
et la valeur est la value
.
Le script Python ci-dessus ajoute 5
de telles paires.
with open(filename, "w") as config_file:
config.write(config_file)
Ensuite, le fichier INI
est ouvert, les données y sont écrites à l’aide de la méthode write()
de la bibliothèque configparser
, et enfin, enregistrées.
config.read(filename)
keys = ["time", "time_format", "language", "testing", "production"]
for key in keys:
try:
value = config.get("SETTINGS", key)
print(f"{key}:", value)
except configparser.NoOptionError:
print(f"No option '{key}' in section 'SETTINGS'")
Le script Python relit à nouveau le fichier INI
pour lire le contenu du fichier INI
, et à l’aide de la méthode get()
, il récupère toutes les informations écrites. La méthode get()
accepte deux paramètres : section
et option
.
Il trouvera l’option
sous la section
. La méthode get()
lève une exception NoOptionError
lorsqu’elle ne parvient pas à trouver l’option spécifiée dans la section spécifiée.
Ainsi, pour éviter toute exception d’exécution, l’appel de la méthode get()
et l’instruction print()
sont inclus dans le bloc try...except
.
Article connexe - Python File
- Comment obtenir tous les fichiers d'un répertoire
- Comment ajouter du texte à un fichier en Python
- Comment vérifier si un fichier existe en Python
- Comment trouver des fichiers avec une certaine extension seulement en Python
- Comment lire des lignes spécifiques d'un fichier en Python
- Lire un fichier texte et imprimer son contenu en Python