Python スクリプトを別の Python スクリプトから実行したいです。コマンド ラインを使用する場合と同じように変数を渡したいです。
たとえば、値のリスト (0、1、2、3) を反復処理する最初のスクリプトを実行し、それらを 2 番目のスクリプトに渡しscript2.py 0
ますscript2.py 1
。
私は見つけたスタックオーバーフローの質問 1186789これは似たような質問ですが、ars の回答は関数を呼び出しますが、私は関数だけでなくスクリプト全体を実行したいのですが、balpha の回答はスクリプトを呼び出しますが引数はありません。テストとして、これを以下のように変更しました。
execfile("script2.py 1")
しかし、変数が正しく受け入れられません。script2.py で出力する場合、sys.argv
最初のスクリプト "['C:\script1.py']" への元のコマンド呼び出しになります。
元のスクリプト (この例では script2.py) は私が所有していないため、変更したくありません。
これを行う方法があるはずだと私は思いますが、どのように行うのかわかりません。
ベストアンサー1
使ってみるos.system
:
os.system("script2.py 1")
execfile
現在の実行コンテキストで Python ステートメントのシーケンスを実行するように設計されているので異なります。そのため、sys.argv
変更されませんでした。