Python3 windows下如何开启子进程并交互?

查看:96
本文介绍了Python3 windows下如何开启子进程并交互?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我现在需要把之前写的脚本分解成 界面层 + 控制层 + 实现层
GUI使用的是Sciter
虽不完善,但已基本达成需求.

现在的思路是 以控制层为主进程,启动GUI进程和实现层进程 共3个进程

最初想用
p=Process(target=f,args=(q,))
实现,但发现我不知道如何启动GUI脚本,因为target需要的是函数(或许是我没找到)...
后来发现了Popen,可以打开独立的脚本,但不知道怎样传递Queue,毕竟我不用控制台,捕获输入输出也只能用来调试...
后来又找到socket,但栗子在win下报错...

由于本人才疏学浅, 英文的文档实在看不懂(不知道看哪)

所以请教各位,哪种方式适合我呢? 或者有别的方式?

谢谢

解决方案

socket是可以实现的,你多调试调试。
思路我可以再给你些:
基于http协议,搭建一个小型服务器,可以用tornado模块,你可以搜一下使用案例,简易的服务器搭建起来非常简单。通信的时候只需要通过客户端fetch方法向某个服务器或访问不同的url或者传递不同的参数,达到信号与槽的效果。具体怎么部署,你自己考虑下。
而多进程的问题,我之前做过类似的,你可以找到启动GUI程序的地方,用一个函数把这段代码封装起来。同样的,你最终只要把三个进程的主方法封装好,然后在单独的一个py文件里import进来,然后就开三个进程分别start就行了。然后配合服务器之前互相访问,通信,整个架构就活了。
这是我当时解决通信问题的做法,仅供你参考。

这篇关于Python3 windows下如何开启子进程并交互?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆