1

重複の可能性:
別のPythonスクリプトからPythonスクリプトを実行し、引数を渡します

int値を返すscript2.pyがあるとします。

シェルでscript.pyのみを実行し、script.py内でscript.pyに渡したパラメーターに従ってscript2.pyによって返されるint値を何らかの方法で取得することは可能ですか?

4

3 に答える 3

3

はい、可能です。それがモジュールが使用されるものです:)。

まず、script2.pyで使用するメソッドを関数に入れる必要があります。上記の人が使用したのと同じ例を使用します(これは良い例です:p)。

def myFunction(a, b):
    return a + b

次に、script.pyに次のように配置します。

import script2

頂点で。これは、両方のファイルが同じディレクトリにある場合にのみ機能します。

この関数を使用するには、次のように入力します。

# Adding up two numbers
script2.myFunction(1, 2)

そしてそれは3を返すはずです。

于 2013-01-14T04:08:16.650 に答える
0

あなたが求め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ます。bscript.py

于 2013-01-14T04:02:08.340 に答える
0

これを試して:

import subprocess

x = 55

print "running bar.py..."
subprocess.call("python bar.py " + x)
于 2013-01-14T04:10:16.093 に答える