yamlとdocoptを利用した引数指定 [Python]
個人的に,入出力をdocoptを記述し,コンフィグ情報はyamlを使って引数として取り込むのが好きなので,そのスクリプトについてメモしておく.decoptの記述では,空行を設けることが重要なので,必要以上に詰めて書かないこと.
""" Overview: コーディング例を示すためのスクリプト.あるフォルダパスを指定すると,何らかの処理により,1つのファイルが出力される Usage: ./act.py [options] -d DIR -o OFILE Arguments: -d,--directory=DIR ディレクトリ名の指定。*.txtファイル全てを入力対象とする -o,--output=OFILE 出力するファイル名を指定する (*.txt) """ import yaml from docopt import docopt if __name__ == "__main__": args = docopt(__doc__) src_folder = Path(args["--directory"]) dst_folder = Path(args["--output"]) with open("./config.yaml") as f: cfgs = yaml.safe_load(f) debug_flag = cfgs["debug"] splitter = cfgs["splitter"] sep = cfgs["sep"]
以下にconfig.yamlの内容を示す.
>> config.yaml debug: False # デバッグするかどうか splitter: nltk # splitの方法 sep: tab # 区切り文字の指定
パッケージはpipでインストール
pip install docopt pip install pyyaml
ディスカッション
コメント一覧
まだ、コメントがありません