====== 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 ドキュメント]]\\