====== argparse - コマンドライン引数解析 ======
===== サンプル =====
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import argparse
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument('target_dir', help='target dir.', type=str)
parser.add_argument('--exclude', nargs='+', help='exclude directory or file.', type=str)
return parser.parse_args()
def main():
args = parse_args()
target_dir = args.target_dir
exclude_dirs = args.exclude
print(f'target_dir: {target_dir}')
print(f'exclude_dirs: {exclude_dirs}')
if __name__ == '__main__':
main()
===== 実行例 =====
$ python args_sample.py
usage: args_sample.py [-h] [--exclude EXCLUDE [EXCLUDE ...]] target_dir
args_sample.py: error: the following arguments are required: target_dir
$ python args_sample.py -h
usage: args_sample.py [-h] [--exclude EXCLUDE [EXCLUDE ...]] target_dir
positional arguments:
target_dir target dir.
optional arguments:
-h, --help show this help message and exit
--exclude EXCLUDE [EXCLUDE ...]
exclude directory or file.
$ python args_sample.py / --exclude .git
target_dir: /
exclude_dirs: ['.git']
===== 参考文献 =====
[[https://docs.python.org/ja/3/howto/argparse.html|Argparse チュートリアル — Python 3.8.1 ドキュメント]]\\
[[https://docs.python.org/ja/3/library/argparse.html|argparse --- コマンドラインオプション、引数、サブコマンドのパーサー — Python 3.8.1 ドキュメント]]\\