4

別のマシンで実行するために、ネットワーク経由でPythonで関数ポインタを送信する可能性はありますか?

実行したい関数があるとしましょう:

def myFunc():
  ...

関数ポインタを使用して myFunc を別のマシンに送信することは可能ですか? または関数ポインタはローカルでのみ使用できますか? それが不可能な場合、他にどのような選択肢がありますか? Pythonファイルを送信していますか?

その部分はすでに完全に実装されているため、Pythonでネットワークがどのように機能するかについては興味がありません。

4

2 に答える 2

0

箱から出すのはそれほど簡単ではありません。リモート マシンに .py ファイルが必要です。しかし、 Python fabricでそれを行うことができます。

于 2013-03-01T18:07:46.500 に答える
0

関数をピクルしてネットワーク経由で送信することを検討しましたか?

例 (サーバー):

import pickle

def test1():        #Function to be send
    return True


with open('data.pickle', 'wb') as f:    #On server you pickling function
    pickle.dump(test1.__code__, f)

例 (クライアント):

import pickle
import types

with open('data.pickle', 'rb') as f:    #On client you load and unpickle function
    code = pickle.load(f)

test2 = types.FunctionType(code, globals())


print(test2())    #Result will be True

注: ネットワーク経由でコードを送信するときに発生する可能性があるセキュリティの問題に注意してください。

于 2013-03-01T18:16:56.360 に答える