Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Python

Pythonのconfigparesrで書き込みや書き換え等の基本的な使い方をご紹介

投稿日:2021年1月4日 更新日:

<目次>

(1) Pythonのconfigparesrで書き込みや書き換え等の基本的な使い方をご紹介
 (1-1) ConfigParserクラスについて
 (1-2) サンプルプログラム
 (1-3) INIファイルの読み込み
 (1-4) INIファイルの書き込み

(1) Pythonのconfigparesrで書き込みや書き換え等の基本的な使い方をご紹介

(1-1) ConfigParserクラスについて

ConfigParserは設定ファイル(INIファイル)に定義した値を読み書きする事で、利用者にて簡単にカスタマイズ可能なプログラムを作る事ができます(Microsoftのiniファイルのような機能を提供)。

目次にもどる

(1-2) INIファイルの構成

INIファイルは「セクション」と呼ばれる単位で区切られており、セクションは[XXXX]で表現します(XXXXはセクション名)。そして各セクションには「キー」と「値」のセットが列挙されています。
 
(INIファイルのお作法)
・キーと値は「=」か「:」で区切ります。
・キーと値の先頭と末尾にあるスペースは除去されます
・値は複数行にわたって記載が可能です(ただし、1行目より深くインデントする)

・コメントは「#」または「;」で記載します。

(例)

# セクション
[COLOR_PALET]
# キーと値
red = 1
green = 2
blue = 3

# セクション
[Person.Info]
# キーと値
firstname = Rainbow
lastname = Planet
height = 173
weight = 60

目次にもどる

(1-3) INIファイルの読み込み(サンプルプログラム)

INIファイルの「読み込み」(Read)を行うPythonのサンプルプログラムをご紹介します。

(サンプルプログラム)

import configparser
import sys

if __name__ == '__main__':
    # ConfigParserクラスをインスタンス化
    conf=configparser.ConfigParser()
    # 'Sample.ini'の名前をセット
    conf_path='Sample.ini' if 1==len(sys.argv) else sys.argv[1]
    # INIファイルの読み込み
    conf.read(conf_path,encoding='cp932')
    print(conf.get('COLOR_PALET','red'))
    print(conf.get('COLOR_PALET','green'))
    print(conf.get('COLOR_PALET','blue'))
    print(conf.get('Person.Info','firstname'))
    print(conf.get('Person.Info','lastname'))
    print(conf.get('Person.Info','height'))
    print(conf.get('Person.Info','weight'))

 

(図131)実行結果
コンソールに読み込んだINIファイルの値が表示されている。

目次にもどる

(1-4) INIファイルの書き込み(サンプルプログラム)

INIファイルの「書き込み」(Write)を行うPythonのサンプルプログラムをご紹介します。

(サンプルプログラム)

import configparser
if __name__ == '__main__':
    # ConfigParserクラスをインスタンス化
    config = configparser.ConfigParser()
    #### 新規のセクション・キー・値の追加
    config['COLOR_PALET'] = {'Red': '1','Green': '2','Blue': '3'}
    #### 新規のセクション・キー・値の追加
    # 空のセクションを作成
    config['Person.Info'] = {}
    # セクションにキーと値(右辺)をセット
    # 1つ目の値はセクション名、2つ目の値はキー
    config['Person.Info']['FirstName'] = 'Rainbow'
    # セクションの情報を変数に格納
    person = config['Person.Info']
    # セクション内の値の書き換え
    person['LastName'] = 'Planet'
    person['Height'] = '173'
    person['Weight'] = '60'
    #### INIファイルの生成・書き込み
    # 書き込みモードでオープン
    with open('Sample.ini', 'w') as configfile:
        # 指定したconfigファイルを書き込み
        config.write(configfile)

 

(図141)実行結果
config「Sample2.ini」を生成し、そこに書き込みの情報を反映。

(操作動画)
上記のプログラムを実際に操作した動画です。
①プログラムの確認(生成するINIファイルの名前とか) ⇒ ②プログラムの実行 ⇒ ③INIファイルの生成確認 ⇒ ④INIファイルの中身チェックという流れで進みます。

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-Python

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

PythonでHTTP Error 403: Forbiddenエラーが出た時の対処方法とエラーの意味について

(0)目次&概説 (1) エラー:HTTP Error 403: Forbidden  (1-1) 発生状況・エラーメッセージ  (1-2) 原因  (1-3) 対処方法   (1-3-1) 修正前の …

pyenvの使い方(基礎編)をご紹介

  <目次> (1) pyenvの使い方(基礎編)をご紹介  (1-1) STEP1:インストール系のコマンド  (1-2) STEP2:バージョンの適用/切り替え系のコマンド  (1-3) …

PythonのFlaskフレームワークを用いたRest APIのサンプル

  <目次> (1) PythonのFlaskフレームワークを用いたRest APIのサンプル  (1-1) Flaskとは  (1-2) STEP1:Flaskフレームワークの導入  (1 …

Slackでコマンドを作る方法をご紹介(自作スラッシュコマンド)

  <目次> (1) Slackでコマンドを作る方法をご紹介(自作スラッシュコマンド)  (1-0) やりたいこと  (1-1) STEP1:Slackボットの開発(所要時間:60分)  ( …

Pythonでcsvのカラム名・テーブルのレコードを取得する方法

今回PythonのPandasライブラリを用いてcsvファイルを読み込み、カラム名やテーブルのレコードを取得する方法をご紹介します。 <目次> (1) Pythonでcsvのカラム名・テーブルのレコー …

  • English (United States)
  • 日本語
Top