int値を返すscript2.pyがあるとします。
シェルでscript.pyのみを実行し、script.py内でscript.pyに渡したパラメーターに従ってscript2.pyによって返されるint値を何らかの方法で取得することは可能ですか?
int値を返すscript2.pyがあるとします。
シェルでscript.pyのみを実行し、script.py内でscript.pyに渡したパラメーターに従ってscript2.pyによって返されるint値を何らかの方法で取得することは可能ですか?
はい、可能です。それがモジュールが使用されるものです:)。
まず、script2.pyで使用するメソッドを関数に入れる必要があります。上記の人が使用したのと同じ例を使用します(これは良い例です:p)。
def myFunction(a, b):
return a + b
次に、script.pyに次のように配置します。
import script2
頂点で。これは、両方のファイルが同じディレクトリにある場合にのみ機能します。
この関数を使用するには、次のように入力します。
# Adding up two numbers
script2.myFunction(1, 2)
そしてそれは3を返すはずです。
あなたが求めexecfile
ているものでしょうか?execfile('script2.py')
のコンテンツ全体をscript2.py
コンソールにコピーして貼り付けたかのように機能します。
たとえば、次のようscript2.py
に仮定します。
def myFunction(a, b):
return a + b
そして、script.py
私は次のことができました:
# reads in the function myFunction from script2.py
execfile('script2.py')
myFunction(1, 2)
script2.py
から渡されたパラメータを使用して実行する場合script.py
は、の内容をscript2.py
関数に含めることをお勧めします。つまり、次の場合script2.py
:
a = 1
b = 2
result = a + b
次のように変換することをお勧めします。
def myFunction(a, b):
return a + b
からを指定できるようにしa
ます。b
script.py
これを試して:
import subprocess
x = 55
print "running bar.py..."
subprocess.call("python bar.py " + x)