是否有可能在Python中通過網絡發送函數指針以在另一臺機器上運行?在Python中通過網絡發送函數指針
比方說,我有我想要運行的函數:
def myFunc():
...
是否有可能通過使用函數指針發送myFunc的到另一臺機器,或者是函數指針只能在本地使用? 如果這是不可能的,我還有什麼其他選擇?發送python文件?
我對python的網絡工作方式不感興趣,因爲那部分已經完全實現了。
是否有可能在Python中通過網絡發送函數指針以在另一臺機器上運行?在Python中通過網絡發送函數指針
比方說,我有我想要運行的函數:
def myFunc():
...
是否有可能通過使用函數指針發送myFunc的到另一臺機器,或者是函數指針只能在本地使用? 如果這是不可能的,我還有什麼其他選擇?發送python文件?
我對python的網絡工作方式不感興趣,因爲那部分已經完全實現了。
您是否考慮過醃製您的功能並通過網絡發送?
實例(服務器):
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)
例(CLIENT):
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
注意:請注意有關通過網絡發送代碼時可能出現的安全問題。
開箱即用並不那麼容易。您需要遠程計算機上的.py文件。但你可以用Python fabric來完成。
它幾乎聽起來像你想要的http://pythonhosted.org/Pyro4/ – 2013-03-01 17:57:35
百勝,遠程代碼執行。希望你真正確保你的連接。假設這是真的,但+1。 – 2013-03-01 17:58:45