【Python】iniファイルに設定を書き込みする方法

この記事では、Pythonを使用してiniファイルを扱う方法について解説します。

iniファイルの作成方法や設定の書き込み、読み込み、変更、削除などの基本的な操作から、設定の一括変更やバックアップ、復元などの応用的な操作まで、初心者の方でもわかりやすく説明します。

目次から探す

Pythonでiniファイルを扱うためのライブラリ

Pythonでは、様々なライブラリを使用することでiniファイルを扱うことができます。

代表的なライブラリとしては、configparserconfigobjなどがあります。

これらのライブラリを使うことで、簡単にiniファイルの作成や設定の書き込み、読み込み、変更、削除などが行えます。

iniファイルの作成方法

iniファイルを作成するには、まずはじめにconfigparserライブラリをインポートします。

次に、ConfigParserクラスのインスタンスを作成し、add_section()メソッドを使用してセクションを追加します。

そして、set()メソッドを使用してセクション内にキーと値を設定します。

最後に、write()メソッドを使用してiniファイルを作成します。

import configparser

config = configparser.ConfigParser()
config.add_section('Section1')
config.set('Section1', 'key1', 'value1')
config.set('Section1', 'key2', 'value2')

with open('sample.ini', 'w') as configfile:
    config.write(configfile)

sample.iniという名前のiniファイルが作成され、以下の内容が書き込まれます。

[Section1]
key1 = value1
key2 = value2

iniファイルへの設定の書き込み方法

既存のiniファイルに設定を書き込むには、set()メソッドを使用します。

セクション名とキー、値を指定して設定を書き込むことができます。

import configparser

config = configparser.ConfigParser()
config.read('sample.ini')

config.set('Section1', 'key3', 'value3')

with open('sample.ini', 'w') as configfile:
    config.write(configfile)

sample.iniの内容が以下のように変更されます。

[Section1]
key1 = value1
key2 = value2
key3 = value3

iniファイルの設定の読み込み方法

iniファイルの設定を読み込むには、get()メソッドを使用します。

セクション名とキーを指定して、対応する値を取得することができます。

import configparser

config = configparser.ConfigParser()
config.read('sample.ini')

value1 = config.get('Section1', 'key1')
value2 = config.get('Section1', 'key2')

print(value1)  # value1
print(value2)  # value2

iniファイルの設定の変更方法

既存のiniファイルの設定を変更するには、set()メソッドを使用します。

セクション名とキー、新しい値を指定して設定を変更することができます。

import configparser

config = configparser.ConfigParser()
config.read('sample.ini')

config.set('Section1', 'key1', 'new_value1')

with open('sample.ini', 'w') as configfile:
    config.write(configfile)

sample.iniの内容が以下のように変更されます。

[Section1]
key1 = new_value1
key2 = value2
key3 = value3

iniファイルの設定の削除方法

iniファイルから設定を削除するには、remove_option()メソッドを使用します。

セクション名とキーを指定して、対応する設定を削除することができます。

import configparser

config = configparser.ConfigParser()
config.read('sample.ini')

config.remove_option('Section1', 'key2')

with open('sample.ini', 'w') as configfile:
    config.write(configfile)

sample.iniの内容が以下のように変更されます。

[Section1]
key1 = new_value1
key3 = value3

iniファイルの設定のバリデーション方法

iniファイルの設定をバリデーションするには、has_option()メソッドを使用します。

セクション名とキーを指定して、設定が存在するかどうかを確認することができます。

import configparser

config = configparser.ConfigParser()
config.read('sample.ini')

if config.has_option('Section1', 'key1'):
    print('key1 exists')
else:
    print('key1 does not exist')

iniファイルの設定のバックアップ方法

iniファイルの設定をバックアップするには、単純にファイルをコピーする方法や、shutilモジュールを使用する方法などがあります。

以下は、shutilモジュールを使用した例です。

import shutil

shutil.copyfile('sample.ini', 'sample_backup.ini')

sample.inisample_backup.iniとしてバックアップされます。

iniファイルの設定の復元方法

iniファイルの設定を復元するには、バックアップファイルを元のファイルに戻す方法や、バックアップファイルから設定を読み込む方法などがあります。

以下は、バックアップファイルを元のファイルに戻す方法の例です。

import shutil

shutil.copyfile('sample_backup.ini', 'sample.ini')

sample_backup.inisample.iniとして復元されます。

iniファイルの設定の一括変更方法

iniファイルの設定を一括で変更するには、set()メソッドを使用して複数の設定を一度に変更する方法があります。

以下は、複数の設定を一括で変更する例です。

import configparser

config = configparser.ConfigParser()
config.read('sample.ini')

config.set('Section1', 'key1', 'new_value1')
config.set('Section1', 'key2', 'new_value2')

with open('sample.ini', 'w') as configfile:
    config.write(configfile)

sample.iniの内容が以下のように変更されます。

[Section1]
key1 = new_value1
key2 = new_value2
key3 = value3

iniファイルの設定の一括削除方法

iniファイルの設定を一括で削除するには、remove_section()メソッドを使用してセクションごと削除する方法があります。

以下は、セクションごと削除する例です。

import configparser

config = configparser.ConfigParser()
config.read('sample.ini')

config.remove_section('Section1')

with open('sample.ini', 'w') as configfile:
    config.write(configfile)

sample.iniの内容が以下のように変更されます。

iniファイルの設定の一括バリデーション方法

iniファイルの設定を一括でバリデーションするには、has_section()メソッドを使用してセクションの存在を確認する方法があります。

以下は、セクションの存在を一括で確認する例です。

import configparser

config = configparser.ConfigParser()
config.read('sample.ini')

if config.has_section('Section1'):
    print('Section1 exists')
else:
    print('Section1 does not exist')

iniファイルの設定の一括バックアップ方法

iniファイルの設定を一括でバックアップするには、単純にファイルをコピーする方法や、shutilモジュールを使用する方法などがあります。

以下は、shutilモジュールを使用した例です。

import shutil

shutil.copyfile('sample.ini', 'sample_backup.ini')

sample.inisample_backup.iniとしてバックアップされます。

iniファイルの設定の一括復元方法

iniファイルの設定を一括で復元するには、バックアップファイルを元のファイルに戻す方法や、バックアップファイルから設定を読み込む方法などがあります。

以下は、バックアップファイルを元のファイルに戻す方法の例です。

import shutil

shutil.copyfile('sample_backup.ini', 'sample.ini')

sample_backup.inisample.iniとして復元されます。

目次から探す