Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从另一个Python程序访问正在运行的Python程序_Python - Fatal编程技术网

从另一个Python程序访问正在运行的Python程序

从另一个Python程序访问正在运行的Python程序,python,Python,我正在运行以下程序 collector.py data=0 while True: #collects data data=data+1 我有另一个程序cool.py,它想访问当前的数据值。我该怎么做 最终,类似于: 酷 getData() *一个想法是对数据使用全局变量?您可以使用内存映射。 例如,您在tmp directore中打开一个文件,然后将该文件映射到程序中的内存,并将u数据写入该文件。是否需要守护进程?最简单的方法是每分钟将数据写入文件,文件名上有时间戳

我正在运行以下程序

collector.py

data=0
while True:
    #collects data
     data=data+1
我有另一个程序cool.py,它想访问当前的数据值。我该怎么做

最终,类似于:

getData() 

*一个想法是对数据使用全局变量?

您可以使用内存映射。


例如,您在tmp directore中打开一个文件,然后将该文件映射到程序中的内存,并将u数据写入该文件。

是否需要守护进程?最简单的方法是每分钟将数据写入文件,文件名上有时间戳。然后,您的另一个文件可以每分钟查找新文件,并在处理后将其删除。
global
没有帮助:每个进程都有自己的全局文件。您需要某种形式的进程间通信,两个程序必须合作才能实现这一点。可能包括套接字、管道、
多处理
模块,或者像一个程序周期性地将数据写入文件,另一个程序读取该文件这样简单的东西。实际上,我有一种方法可以将程序与测试结合起来!我要看一眼是的。内存映射使用ram访问此文件。我在C++程序中使用内存映射,但是在Python中也很有效。如果你想,我可以给你的例子代码,但在C。有趣的!现在我正在使用套接字在程序之间进行通信。这样更有效吗?