0

他のコードを実行するスクリプトを作成しましたが、実行する前に後者のコードのいくつかの条件をチェックする必要があります! したがって、コマンドライン引数を使用することを考えましたが、スタックオーバーフローの同様の質問に対して与えられたほとんどの回答で推奨されていたクラスを作成するための OOP の概念についての知識がありません。このような引数を渡すことができますか

subprocess.call([sys.executable, 'Cnt1', 'argument1', 'argument2'])

できれば、後者のコードで引数を読み取る方法は? 印刷してみました

print sys.executable
print Cnt1

print Cnt1 の表示エラー

4

2 に答える 2

1

'Cnt1'サブプロセス呼び出しで文字列として指定した

は変数ではないprint Cnt1ため、エラーが発生しますCnt1

あなたの構文はsubprocess.call([sys.executable, Cnt1, argument1, argument2])

Cnt1、argument1、argument2 変数に必要な値があると仮定します。

于 2012-11-23T09:01:28.037 に答える
0

確かに、モジュールpythonを使用して実行し、それに引数を渡すことができます。subprocess本質的に、あなたは完全に新しいプログラムを実行しているでしょう。これは、関数を呼び出すことと同じではありません。しかし、通常、そのような劇的な長さに行く必要はありません。

別のPythonスクリプトを実行する場合は、から渡された引数を解析する必要がありますsys.argv。このargparseモジュールを使用すると簡単になりますが、引数のリストを渡すだけの場合は必須ではありません。

import sys
print sys.argv
于 2012-11-23T08:48:04.673 に答える