Pythonスクリプトa.pyとb.pyがあります。b.pyのメイン関数を呼び出し、a.pyから引数を渡します。コード内からa.pyにオプションを追加し、それをb.pyのメインに渡す方法は?追加オプションとして辞書を追加しようとしましたが、何らかの理由でb.pyが正しい値を取得していません。add_optionは、コマンドラインオプションに対してのみ機能します。
a.py内にbをインポートしましたが、b.pyのmainにreadOnly値を渡そうとしています。基本的に、コマンドラインとしてa.pyからreadOnlyを渡したくはありませんが、a.py内のコードを介してreadOnlyを渡します。
a.py
import b
def main()
usage = "usage: %prog [options]"
parser = OptionParser(usage)
(options, _ ) = parser.parse_args()
varsOptions = vars(options)
varsOptions['readOnly'] = True
b.main(varsOptions)
b.py
def main(argv):
usage = "usage: %prog [options]"
parser = OptionParser(usage)
parser.add_option("-r", action="store_true", dest="readOnly")
(options, _ ) = parser.parse_args()
varsOptions = vars(options)
print(varsOptions)
if __name__ == "__main__":
main(sys.argv[1:])
このコードが機能しないのはなぜですか?
TIA、
ジョン