Python学習【365日チャレンジ!】119日目のマスターU(@Udemy11)です。
今日から入門編を終了して、応用編に突入していきますが、さらに難しくなっていくので、Webを活用した自己学習が必要になっていきます。
これまでの学習は、Pythonのコードを書くために覚えておかないといけない基本的な内容だったので、レクチャーを繰り返し学習することでなんとなくこういう使い方をするということがわかりました。
応用編では、Pythonだけでなく、他のシステムと連携したり、Webサーバーやデータベースとのやり取りなど、より広い知識が必要になります。
すでに最低限の知識がある前提でレクチャーもすすめられるので、なんでも教えてくれると思っているいわゆる【くれくれ君】の状態では、この先の学習に進むのは難しいように感じます。
自分で調べて解決するというスタンスを持ちつつ、レクチャーをすすめ、どうしてもわからないことが出てくれば、過去のQAも参照しつつ質問するようにしましょう。
ということで、現在Python学習に活用している酒井さんの講座はこちら!
それでは、今日もPython学習に取り組みましょう!
昨日の復習
昨日は、入門編の集大成である対話アプリJarvisをパッケージ化して、Googleドライブで公開しました。
時間があれば、作ったJarvisを元に、他の質問をするバージョンを作ったり、少しカスタマイズしたJarvisを1から書いてみるとPythonのスキルが向上すること間違いなしです。
私は、一旦すべての講座を受講したあと、復習でいくつかのパターンのMVCモデルのコードを書きたいと思っています。
ということで、今日から応用編に入っていきます。
configparser
本日の学習はconfigparser
です。
config
というと、WindowsのコマンドでIPを調べるためのipconfig
が思い浮かぶのですが、config
の正体は、設定です。
そしてconfigparser
は、設定をプログラムが扱えるデータ構造体にするためのモジュールです。
configparser
モジュールには、設定用構造データであるini
ファイルの読み書きを扱えるConfigParser
クラスが用意されていて、ini
ファイルを読み込んで、Webサーバーやデータベースに接続するための値を取得することができます。
他のサービスやシステムとの連携のために欠かすことのできないモジュールと言えます。
iniファイルの書き込み
ini
ファイルのフォーマットは、ブラケットの角括弧[]
でくくられたセクションが複数の【key】と【値】を持ち、複数ののセクションを記録することができます。
例:
[DEFAULT]
user = MasterU
[web_server]
host = localhost
port = 80
超簡単な一例ですが、上記のようなフォーマットの設定ファイル(config.ini
)を作成したり、用意されているconfig.ini
を読み込んで値を取得して利用するわけです。
上記の設定ファイルを作成するためのコードを書いてみましょう。
import configparser
config = configparser.ConfigParser()
config['DEFAULT'] = {
'user': 'localhost'
}
config['web_server'] = {
'host': 'localhost',
'port': 80
}
with open('config.ini', 'w') as config_file:
config.write(config_file)
このコードを実行すれば、同じ階層に上記の例と同じフォーマットのconfig.ini
が作成されます。
iniファイルの読み込み
次に、作成したconfig.ini
を読み込んでみます。
import configparser
config = configparser.ConfigParser()
config.read('config.ini')
print(config['DEFAULT'])
print(config['web_server']['host'])
print(config['web_server']['port'])
出力結果
<Section: DEFAULT>
localhost
80
出力するためにprint
を使っていますが、本来はhost = config['web_server']['host']
のように変数に取得した値を代入して、Webサーバーにアクセスするためのコードで活用するなどの使い方をします。
あくまで一例
今回のhost
やport
はあくまで設定ファイルを扱うための一例で示しているだけなので、連携するシステムなどによって、さまざまなデータを取り扱います。
共通したini
ファイルのフォーマットを扱えるのがconfigparser
モジュールですので、設定ファイルを読み込んで他のサービスと連携をするために使うということを憶えておきましょう。
これまでも酒井さんの講座では、ある程度自分で学習する必要がありましたが、応用編からは、さらに自分で学習するべき内容が増えているように感じています。
例えば、config.ini
を何に使うのかということは、すでにわかってる前提で解説されています。
なので、レクチャーを受けつつ、わからないことは自分で調べる癖をつけていないと、内容が理解できなくなり、途中で挫折する原因になってしまいます。
Pythonの入門講座とはいえ、ここからは、より難しい内容になるので、気を引き締めて学習しましょう!
それでは、明日もGood Python!