1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiita×Findy記事投稿キャンペーン 「自分のエンジニアとしてのキャリアを振り返ろう!」

pythonのconfigparserを用いてconfig.iniからListを読み込みたい

Last updated at Posted at 2024-03-06

configparserの基本的な使い方

素晴らしい記事があるのでこちらを参照ください。

問題点

  • 設定ファイル(config.ini)にリストを記述してリストとして読み込みたいが、configparserは文字列として読み込んでしまう。

解決方法

  • eval関数を利用して、式として評価してあげる。

サンプルコード

例えば特定のフォルダ内にある、複数の拡張子を扱いたい場合のことを考えます。
config.ini

  • DEFAULTの部分は任意の変数名に書き換えれます。
[DEFAULT]
EXTENSION_TYPES = [
    ".zip",
    ".log",
    ".png"
    ]

example.py

  • configparserを利用してconfigを読み出します.
  • eval関数を利用して文字列をリストとして評価します.
config = configparser.ConfigParser()
config.read(config_path, encoding="utf8")

extension_types=eval(
            config["DEFAULT"]["EXTENSION_TYPES"])

改善点

  •  confgparserに詳しくないとeval関数で何をやっているのか分かりづらい。
  •  そのため、eval()でやっていることをconvert_str_to_listなどの名前に変えてラッパーを実装してあげるとより丁寧かも。
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?