我有两个python程序。 一种是数据收集程序。另一种是使用Tensorflow进行分析和预测。python程序之间的Python简单通信?
(在Windows操作系统。python3.5。本地)
的数据收集程序需要32位的env因为API的它正在使用。如你所知,另一个程序需要64位env,因为TensorFlow。
所以
问:我只需要发送一个dict
数据TensorFlow并把它发送一个整数回作为回报。
什么是最简单的互相发送数据的方式?
感谢您的时间。
我有两个python程序。 一种是数据收集程序。另一种是使用Tensorflow进行分析和预测。python程序之间的Python简单通信?
(在Windows操作系统。python3.5。本地)
的数据收集程序需要32位的env因为API的它正在使用。如你所知,另一个程序需要64位env,因为TensorFlow。
所以
问:我只需要发送一个dict
数据TensorFlow并把它发送一个整数回作为回报。
什么是最简单的互相发送数据的方式?
感谢您的时间。
最简单的方式是将一个程序保存到一个文件中,然后让其他程序读取该文件。推荐的方法是使用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可用于进程之间通信的机制。
如果你想通过网络连接两个程序,我建议你看看Pyro4?基本上,你为你做的是使你能够执行正常的Python方法调用,但通过网络,运行在另一台计算机或另一个Python进程上的代码。您(几乎)不必担心它的低级网络细节。
您发送的清单内容是什么?整型? – JohanL
@JohanL我错了。这不是列表,而是字典。项目都是整数。 –
*最简单*一方面可能序列化数据(json/csv/pickle/whatever)并将其转储到标准文件,另一方面读取文件并对其进行反序列化。您还可以探索更高效的解决方案,如套接字或共享内存。 – jedwards