在python中通过网络发送函数指针

时间:2013-03-01 17:52:25

标签: python function networking pointers distributed

是否有可能通过网络在python中发送函数指针以在另一台机器上运行?

假设我有一个我想要运行的功能:

def myFunc():
  ...

是否可以使用函数指针将myFunc发送到另一台机器,或者只能在本地使用函数指针? 如果那是不可能的,我还有其他选择吗?发送python文件?

我对python中的网络工作方式不感兴趣,因为该部分已经完全实现。

2 个答案:

答案 0 :(得分:0)

不是那么容易开箱即用。您需要远程计算机上的.py文件。但你可以用Python fabric来完成。

答案 1 :(得分: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

注意:请注意通过网络发送代码时可能出现的安全问题。