コマンドライン引数必須のpythonファイルを別のpythonファイルから実行したく、subprocessモジュールを用いて試みているのですが、上手く引数を渡せずに悩んでおります。
ご教授いただければ幸いです。
下記が実行したいファイルです。
--firstnameと--lastnameが引数として必須になっています。
test.py
python
1 2import argparse 3 4def arg_res(): 5 parser = argparse.ArgumentParser() 6 parser.add_argument('--firstname',required=True) 7 parser.add_argument('--lastname',required=True) 8 9 args = parser.parse_args() 10 11 info_dict = { 12 "firstname":args.firstname, 13 "lastname":args.lastname 14 } 15 16 return info_dict 17 18def test_main(): 19 20 info_dict = arg_res() 21 print(info_dict) 22 23if __name__=="__main__": 24 test_main() 25 26
試みたファイル
subprocess_test.py
python
1 2import subprocess 3 4command = ["python","test.py","--firstname toya --lastname kenta"] 5 6proc = subprocess.Popen(command) 7
実行コンソール
python subprocess_test.py
エラー結果
usage: test.py [-h] --firstname FIRSTNAME --lastname LASTNAMEname, --lastname
引数が認識されていようです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/15 11:36
2021/12/15 11:41 編集