py-py’s blog

何か書くよ

configparser.ConfigParserでconf.iniを正常に読み込まない件

結論

read()したものを変数に突っ込んでました。。

ルーチン作業の自動化プログラムを作成しているときにはまったしょうもないこと。

こんな風にconfファイル作って

conf.ini

[download_folder]
folder = XXXXX

[chromedriver]
file_path = XXXX
url = XXXX

confファイル読み込んでガチャガチャするためのmainファイル
main.py

import configparser

def main():
    config = configparser.ConfigParser()
    
    # 間違い
    config = config.read("conf.ini", encoding="utf-8")
    
    # return [] !?
    config.sections()

if __name__ == "__main__":
    main()

configparser.ConfigParserのオブジェクト作成までは想定通りに行くのに、読み込んでからうまくいかねーと思って悩んでいた。

よくよく読むと、read()したものをさらに変数に突っ込んでそれに対してsections()やらで操作していた。

正しくは

main.py

import configparser

def main():
    config = configparser.ConfigParser()
    
    # 正しい
    config.read("conf.ini", encoding="utf-8")
    config.sections()

if __name__ == "__main__":
    main()