Python支持多个同步和通信脚本

Python支持多个同步和通信脚本,python,raspberry-pi,Python,Raspberry Pi,我有一个项目将在Raspberry Pi 4上运行,我决定使用Python编写脚本。我有几个传感器,一个摄像头,一个屏幕等等。。我已经编写了两个脚本,我知道我可以通过在终端上的python3命令末尾添加&来同时运行它们。然而,我的问题是: 例如,我有两个脚本,scriptA和scriptB,这两个脚本都应该根据另一个脚本做一些事情。比如说,在scriptA中,我使用了一个传感器,当它检测到一些东西时,我希望scriptB做一些与通常不同的事情。我如何才能做到这一点,我如何才能使这两个脚本以最佳方

我有一个项目将在Raspberry Pi 4上运行,我决定使用Python编写脚本。我有几个传感器,一个摄像头,一个屏幕等等。。我已经编写了两个脚本,我知道我可以通过在终端上的
python3
命令末尾添加
&
来同时运行它们。然而,我的问题是:


例如,我有两个脚本,scriptA和scriptB,这两个脚本都应该根据另一个脚本做一些事情。比如说,在scriptA中,我使用了一个传感器,当它检测到一些东西时,我希望scriptB做一些与通常不同的事情。我如何才能做到这一点,我如何才能使这两个脚本以最佳方式进行通信?我知道Thumb2汇编和中断,以及C/C++。然而,我对Python非常陌生。我的项目对时间不是很严格,所以我认为我不需要使用中断,但我不知道怎么做。谢谢。

更好的解决方案是为每个进程创建不同的类,这样可以更高效地传递信息,但如果您执意使用不同的脚本,则可以使用
os.system()
调用并传入不同的参数,这些参数告诉脚本执行不同的操作

例如,script_a.py调用script_b.py,将参数传递给script_b.py:

脚本_a.py:

import os

state_change = True

if state_change:
    os.system("script_b.py 1") # you can replace 1 with any character you want
else:
    os.system("script_b.py 0")

在script_b.py中,您将解析传入的参数并执行相应的操作:

import sys

if sys.argv[1] == '1':
    do_something()
elif sys.argv[1] == '0':
    do_something_else()

谢谢你的回答。通过为每个进程指定不同的类,您是指单个脚本,对吗?为不同的流程使用单独的脚本不是更好的组织方式吗?我想听听你的意见。再次感谢。是的,我指的是一个脚本。我所说的单个脚本,不是指单个文件。一个脚本可以包含多个文件(通常是类和模块)。例如,您可以创建一个Camera类和Screen类,并在main.py程序中运行这两个类。在班级之间传递信息也更容易。如果你只编写一个程序,那么使用类来封装不同的进程就是最好的选择。我现在明白了,谢谢。最后一个问题是,按照您提到的方式,如何在一个脚本中同时运行每个不同的进程(类)?因此,您可以为不同的进程创建不同的类,然后将它们导入主脚本
import ClassName
,然后为每个进程创建一个实例
camera=camera()
screen=screen()
。然后,您可以从那里调用类方法。例如,
camera.take_picture()