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







ディスカッション
コメント一覧
まだ、コメントがありません