0

2 つの異なる Python スクリプトを取得しました。1 つ目は argparse を使用して追加の引数 (arg.py と呼びます) を取得し、2 つ目はメイン スクリプト (main.py) です。
main.py 内で arg.py を呼び出したいのですが、その方法がわかりません。コマンド execfile を調べましたが、うまく機能しませんでした。
main.pyに入れようとし
execfile('arg.py -h')
ましたが、python は存在しないファイル 'arg.py -h' を見つけようとしました。誰もそれを行う方法を知っていますか?

前もって感謝します

4

1 に答える 1

1

subprocess.callまたはを使用して、別のプロセスとして実行できますsubprocess.Popen。子プロセスとして実行したくない場合は、arg.pyスクリプトの構造に応じて、より複雑になります。

execfile渡されたファイルを取得し、現在のスクリプトに含めます#include。これは、c/c++ のプリプロセッサ ディレクティブによく似ています (ただし、これは動的に行われます)。使用する非常に醜いオプションの1つは次のexecfileとおりです。

#completely untested.
import sys
def run_script(script_name,*args):
    _argv = sys.argv[:]
    sys.argv = list(args)
    execfile(script_name)
    sys.argv = _argv
于 2013-02-14T16:09:25.823 に答える