基于stdio的进程间通信
simple-ipc的Python项目详细描述
简易工控机
基于stdio的进程间通信
进程间通信的简单python接口,异步方式 在运行时与外部程序交换数据。内部机制起作用 通过将数据写入stdout并使用多线程从stdin读取数据。在
安装
pip install simple-ipc
使用
首先导入模块:
import ipc
from ipc import Worker
参数
Worker(command, callback=None, start=True, verbose=False)
- 在
command
可执行文件的路径以及可选参数- list:可能包含空格
- str:不支持空格
- 在
callback
(可选)接收到新数据后调用的函数- 必须只接受一个参数
- 在
在start
(可选)创建时自动启动工作进程 - 在
在verbose
(可选)打印状态消息
示例
^{pr2}$withWorker('program.exe',verbose=True)asworker:...
Worker('path/to/program.exe arg',lambdadata:print(data))
worker对象
所有数据将在内部转换为str
类型。在
方法
start()
启动工作进程send(data)
将数据发送到外部进程stop()
启动所有线程的终止并清除所有数据
属性
running
指示工作进程(只读)data
包含最新的值(只读)
示例程序
fromrandomimportrandintfromipcimportWorkerdefprocess(data):ifint(data)==5:print('Process data...')worker=Worker('program.exe',process)whileworker.running:number=randint(1,10)worker.send(number)print(f'Data: {worker.data}')
start()
启动工作进程send(data)
将数据发送到外部进程stop()
启动所有线程的终止并清除所有数据running
指示工作进程(只读)data
包含最新的值(只读)可以找到更多示例代码here。在
- 项目
标签: