是否有可能通过网络在 python 中发送函数指针以在另一台机器上运行?
假设我有一个要运行的函数:
def myFunc():
...
是否可以使用函数指针将 myFunc 发送到另一台机器,或者函数指针仅在本地可用?如果这是不可能的,我还有什么其他选择?发送 python 文件?
我对网络在 python 中的工作方式不感兴趣,因为该部分已经完全实现。
是否有可能通过网络在 python 中发送函数指针以在另一台机器上运行?
假设我有一个要运行的函数:
def myFunc():
...
是否可以使用函数指针将 myFunc 发送到另一台机器,或者函数指针仅在本地可用?如果这是不可能的,我还有什么其他选择?发送 python 文件?
我对网络在 python 中的工作方式不感兴趣,因为该部分已经完全实现。
开箱即用并不容易。您需要远程计算机上的 .py 文件。但是你可以用Python fabric来做。
您是否考虑过腌制您的功能并通过网络发送?
示例(服务器):
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
注意:请注意通过网络发送代码时可能出现的安全问题。