python:argparse

argparse - コマンドライン引数解析

args_sample.py
#!/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']
  • python/argparse.txt
  • 最終更新: 2020/09/11 16:30
  • by ともやん