我正在寻找在python2和python3之间共享数据的有效方法

时间:2018-08-01 09:43:33

标签: python python-3.x python-2.7

首先。我在python2中的主要代码。最近,我在寻找一些功能,经过大量搜索后,我能够在python3中找到库。

因此,我已经在python3中编写了部分代码。 现在,下一个大麻烦是数据共享之间的数据共享。因此,我使用os.system()和pickle在两个程序之间共享数据。

但是,我发现这种方法非常无效。这会使程序变慢。我的程序时间紧迫。有什么有效的方法可以做得更快。

2 个答案:

答案 0 :(得分:0)

您可以与Redis之类的内存数据库或rabbitmq之类的消息代理共享数据。

答案 1 :(得分:0)

我知道这不是您要寻找的答案,但这是前进的解决方案:您应该将以python 2编写的“主要代码”移植到python3。end of life for python 2在2020年,是less than 2 years from now。随着时间的流逝,使用python 3只会变得更加困难,而继续使用2则会变得更加不安全。还要注意,由于第三方库,您被迫切换到3。这与通常的效果相反,因为人们懒惰地保持了依赖性,人们坚持使用2。

您在评论中提到您的python 2代码使用OpenCV 2.4。好吧,这真是个好消息!首先,OpenCV长期以来一直支持python 3!其次,您的工作听起来大多是数字的,这将使本地python部分移植到3个琐碎的事情(2to3工具可以为您完成的工作,也许是全部)。我正在考虑向print等添加缺少的括号。您还可以使用仅在python 3中可用的现代python模式,尤其是其较新版本。

我知道升级代码以使用较新版本的OpenCV并非易事,但是作为偶尔使用OpenCV的用户,我仍然认为这是迄今为止最简单,最易于维护的解决方案。认为这是一项投资(一项非常好的投资,没有风险,而且回报率很高)。