file1.py
import argparse
parser = argparse.ArgumentParser(description='')
parser.add_argument('--hoge')
parser.add_argument('--fuga')
def run(env, *_args):
args = parser.parse_args(_args)
hoge = args.hoge
fuga = args.fuga
この場合の run
メソッドをシェルではなく、別のPythonのファイル内から呼び出したいとき。
*_args
は可変長引数なので、そのまま↓のような感じでOK。
file2.py
from file1 import run
run(env, '--hoge', 'hoge', '--fuga', 'fuga')
型が指定されている場合は、正しく渡してあげてください。
TypeError
とか出てきてデバッグがちょっと辛かった...