2017-09-09 29 views
2

我有两个python程序。 一种是数据收集程序。另一种是使用Tensorflow进行分析和预测。python程序之间的Python简单通信?

(在Windows操作系统。python3.5。本地)

的数据收集程序需要32位的env因为API的它正在使用。如你所知,另一个程序需要64位env,因为TensorFlow。

所以

问:我只需要发送一个dict数据TensorFlow并把它发送一个整数回作为回报。

什么是最简单的互相发送数据的方式?

感谢您的时间。

+0

您发送的清单内容是什么?整型? – JohanL

+0

@JohanL我错了。这不是列表,而是字典。项目都是整数。 –

+2

*最简单*一方面可能序列化数据(json/csv/pickle/whatever)并将其转储到标准文件,另一方面读取文件并对其进行反序列化。您还可以探索更高效的解决方案,如套接字或共享内存。 – jedwards

回答

1

最简单的方式是将一个程序保存到一个文件中,然后让其他程序读取该文件。推荐的方法是使用JSON,通过json模块。

import json 

#Write 
with open('file.txt', 'w') as file: 
    file.write(json.dumps(myDict)) 

#Read 
with open('file.txt') as file: 
    myDict = json.load(json_data) 

但是,根据您的使用情况,这可能不是最好的方法。套接字是一种常见的解决方案。 Managers也是非常强大的,但在我看来是矫枉过正。

有关更多信息,我建议您查看Python团队维护的list可用于进程之间通信的机制。

1

如果你想通过网络连接两个程序,我建议你看看Pyro4?基本上,你为你做的是使你能够执行正常的Python方法调用,但通过网络,运行在另一台计算机或另一个Python进程上的代码。您(几乎)不必担心它的低级网络细节。