是否可以在Python 3.4程序中调用Python 3.2函数?

时间:2015-05-24 19:43:58

标签: python pickle python-3.4 python-3.2

我想使用仅支持python 3.2的商业软件包。然而,许多支持python 3.4的软件包都无法在3.2中轻松安装。

那么可以让python 3.4程序调用python 3.2函数吗?

我的步行方法是编写一个python 3.2程序,使用pickle来保存函数输出:

# python 3.2, function.py
with open("temp.pickle",'wb") as pickle_output:
    pickle.dump(output,pickle_output)

使用以下命令在python 3.4程序中调用它:

# python 3.4 main.py
subprocess.call("c:\python32\python function.py")

然后阅读:

中的泡菜
# python 3.4 main.py
with open("temp.pickle",'wb") as pickle_input:
    input = pickle.load(pickle_input)

并使用python 3.4中的输入对象

虽然有效,但很慢,而且看起来很傻。有没有其他方法可以做到这一点?像import module using python 3.2

这样的东西

1 个答案:

答案 0 :(得分:0)

另一种选择是使用shelve module。它为用于存储值的文件提供了稍高级别的dict样式接口。另一种可能性是使用marshall module,但这仅适用于某些类型,并且通常不会被使用。在这种情况下可能会更快。

然而第三种选择是使用multiprocessing module在进程之间实时通信,并处理启动和停止它们。