【Python応用】アプリケーション設定ファイルを読み書きする【configparser】を簡潔に説明

プログラミング
スポンサーリンク

スポンサーリンク

はじめに

今回はPythonの基礎文法を習得して実際にアプリケーションを作りたい方に向けてできるだけ簡単にconfigparserについて解説しました。

Pythonは人工知能、機械学習、ディープラーニング、データ解析などに特化しており、2020年プログラミング言語人気ランキング1位になっています。

Pythonについて詳しく知りたい方はこちらのウェブサイトをどうぞ。

Pythonの基礎がまだ習得できている自信がない方はこちらの記事も見てみてください。

configparaserとは

アプリケーションの設定ファイルを読み書きしたい時に用いられる、設定ファイル管理モジュールです。

アプリケーションを作成する時によく用いられます。

Pythonでアプリケーションを作成したい方は絶対に習得しておきましょう。

configparserの書き込み

まずはconfigparserを使ってアプリケーションの設計書(config.ini)を作成します。

import configparser

config = configparser.ConfigParser()
config['DEFAULT'] = {
      'debug' : True
}
config[web_server] = {
     'host': 120.0.0.2,
     'port': 80
}
config['db_server'] = {
     'host' :120.0.0.2,
     'port': 3000
}

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

こちらのconfigparserの雛形のようなコードを実行するとconfig.iniが同じディレクトリに作成されます。

ファイル読み込みと書き込みがわからない方はこちらの記事をどうぞ。

<config.ini>

[DEFAULT]
debug = True

[web_server]
host = 120.0.0.2
port = 80

[db_server]
host = 127.0.0.1
port = 3000

とこのようなconfig.iniが作成されます。

そしてこのようなconfig.iniがある場合にどうやって読み込むかについてが次のセクションです。

configparserの読み込み

先ほどのconfig.iniがある状態でのデータの読み込みについてです。

import configparser

config = configparser.ConfigParser()
config.read('config.ini')
print(config['db_server'])
print(config['db_server']['host'])

#実行結果
<Section db_server>
120.0.0.2

config.read(‘ファイル名’)を実行した後でprintで指定してあげればあらかじめ設定されているデータを出力することができます。

yamlを用いた書き込み

configparserの代わりとしてyamlもよく用いられています。

configparserとあまり変わらないので一緒にやっておきましょう。

import yaml

with open('config.yml','w') as yaml_file:
    yaml.dump({
        'web_server':{
            'host': '120.0.0.2',
            'port': '80'
          },
        'db_server':{
            'host': '120.0.0.2,
            'port': '3000'
          }
       },yaml_file,default_flow_style=False)

このコードを実行するとconfig.ymlが作成されます。

<config.yml>

web_server:
  host: 120.0.0.2
  port: 80
db_server:
  host: 120.0.0.2
  port: 3000

yamlを用いた読み込み

それでは最後にyamlを用いた読み込みです。

with open('config.yml','r') as yaml_file:
    data = yaml.load(yaml_file)
    print(data,type(data))
    print(data['web_server']['host']
    print(data['web_server']['port']
    print(data['db_server']['host']
    print(data['db_server']['port']

#実行結果
120.0.0.2
80
120.0.0.2
3000

yamlもconfigparserと似ていて使われるようになってきているので一緒に押さえておきましょう。

Pythonの勉強方法【おまけ】

Pythonの基礎文法を勉強するにはUdemyというオンラインプログラミング学習プラットフォームがおすすめです。

具体的に言うとこちらの講座です。

この講座だけで基礎文法だけでなく実践的な応用スキルまで身につけることができます。

基礎から応用まで分かりやすい講座なので気になる方は是非みてみてください。

私が受けたPythonの講座の中では最も良かったですし、この講座だけで案件を獲得できるようになるレベルまでプログラミングを上達できることができると思います。

実際多くの人がWeb上で高評価をしていてUdemyのPython講座といえばこの講座と言われているほどです。

今回紹介したconfigaparserもこの講座の中でより詳しく述べられています。

気になる方はこちらのリンクから。

Udemy

その他の記事

おわりに

今回はPythonの基礎を習得し終わってアプリケーションを制作したい方向けにPython応用としてconfigparserについて解説しました。

configparserは応用の中でも慣れれば簡単で

基礎を習得した方は自分が作りたいものに合わせて応用を勉強し、実際に制作してみるのがいいと思います。

他にもPythonの記事を挙げているのでそちらも合わせて読んでみてください。

コメント

タイトルとURLをコピーしました