我想使用仅支持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
?
答案 0 :(得分:0)
另一种选择是使用shelve module。它为用于存储值的文件提供了稍高级别的dict
样式接口。另一种可能性是使用marshall module,但这仅适用于某些类型,并且通常不会被使用。在这种情况下可能会更快。
然而第三种选择是使用multiprocessing module在进程之间实时通信,并处理启动和停止它们。