【Python】定義ファイル読込 | ツール・シミュレータ

ツール・シミュレータ

ツール・シミュレータ等のプログラミングをネタとしてブログ。

pythonにも定義ファイル用のモジュールがありますが、もっと簡単に使いたい。

 

 

io.simple_config.py 

 

# -*- coding:utf-8 -*-

 

from typing import Dict

from .ioutil import *

 

def create_config(file:str,encoding:str="shift_jis") -> Dict[str,str]:

    SEPARATE = "="

    file_exists_with_exp(file)

    config = {}

    with open(file,mode="r",encoding=encoding) as f:

        for line in f:

            line = line.rstrip('\r\n')

            if line.startswith(SEPARATE):

                raise Exception("フォーマット不正:" + line)

            if (not line.startswith("#")) and (len(line) != 0):

                eqIdx = line.rindex(SEPARATE)

                if eqIdx != -1:

                    config[line[0:eqIdx]] = line[eqIdx + 1:]

                else:

                    raise Exception("フォーマット不正:" + line)

    return config