Python子进程之间的共享变量

问题描述 投票:1回答:2

我有一个名为read.py的Python程序,它每秒从串行通信中读取数据,另一个名为calculate.py的python程序必须从read.py中获取实时值。

使用subprocess.popen('read.py',shell=True)我可以从read.py运行calculate.py

我可以知道如何读取或使用read.pycalculate.py中的值吗?由于值每秒都在变化,所以我困惑如何继续进行,将值保存在寄存器或生产者使用者类型中,等等。

例如:from import datetime使用strftime %s时,将给出第二个值如何使用相同的技术来使用另一个脚本中的变量?

python raspberry-pi subprocess
2个回答
1
投票

我建议将值写入.txt文件以供以后阅读


0
投票

如果我们不是在谈论calculate.py是read.py的子进程的情况,我们有很多选择:

  1. read.py将结果写入某个文件,然后calculate.py会不时检查文件以查找新行;
  2. 使用某些SQL数据库(如SQLITE3)或较重的选项,如MySQL,PostgreSQL和许多其他选项;
  3. 使用一些NoSQL解决方案,不能说太多,因为它不适用于MongoDD,CElery等
  4. 使用套接字库,read.py将成为发送者,而calculate.py将成为服务器,这在编码方面是最困难的,因为您需要了解套接字以及可能的线程模块-取决于解决方案

如果在多处理模块的情况下谈论主子,只需使用一些原始对象在诸如Queue之类的进程之间进行通信。

Sockets

© www.soinside.com 2019 - 2024. All rights reserved.