STDINからJSONを流し込んでも、引数にJSONファイルを指定してもよい方法。
使うモジュール
- select
- argparse
$ cat AAA.json | python3 program.py
$ python3 program.py AAA.json
import sys import argparse import select import json def main(): desc = 'description...' parser = argparse.ArgumentParser(description=desc) parser.add_argument('JSON_FILE', nargs='?', help='JSON file') args = parser.parse_args() f_json = args.JSON_FILE if f_json is not None: with open(f_json) as f: data1 = json.load(f) if select.select([sys.stdin], [], [], 0)[0]: data2 = json.load(sys.stdin) ...