1
lishunan246 2016-11-07 23:20:07 +08:00
感觉用本地 socket 通信更合适
|
2
zhuangzhuang1988 2016-11-07 23:36:21 +08:00
try ??
你需要学习 Monad Option/Either 是解决方法。 |
3
stamaimer 2016-11-07 23:38:39 +08:00 via iPhone
pyqt
|
4
dant 2016-11-07 23:39:00 +08:00
你需要的是一整套 RPC 方案。
嗯这样一来你会发现 tkinter 更简洁( |
5
corvofeng 2016-11-08 07:15:38 +08:00 via Android
pyqt 不就可以做图形界面, 还跨平台呢
|
6
adooo 2016-11-08 09:13:02 +08:00
这样:你用 vb 直接调用 py ,方法应该很多,比如调用系统命令。
之后, py 执行,执行前给数据库表的某个字段一个状态码,有了结果后修改状态码,如果报错,再存入另一个状态码。 这样的话,你的 vb 就先只取状态码,根据状态码,返回对应的信息 |
7
wizardoz 2016-11-08 12:42:13 +08:00
pyqt 正解,或者 wxWidgets 的 py 绑定。
如果 VB 支持 zmq 的话也可以用 VB + zmq + py 。如果不能用消息队列通信,只能用 socket 或者共享内存的话基本不要想。你会发现你完成这个程序花费的精力都可以学会 QT 了。 |
8
omg21 OP @zhuangzhuang1988 你说的 Monad ,是针对我提问的哪方面?
是指 “需要加 try 的地方有好多,还有的函数套函数套了好几层,加了太多的 try 真是破坏了代码的可读性” 这个吗? Monad 我是第一次听说,粗略的看了下,好像就是用若干小函数搭建一个程序,但是我现在就是这样用的啊。 |
10
zhuangzhuang1988 2016-11-08 13:10:25 +08:00
@omg21 是的
|
11
qile1 2016-11-09 00:01:50 +08:00 via Android
我用 python 多线程建了一个循环读文本的程序,两个线程不好通讯,就建立了一个 lock.lock 的文件,当读取文件的时候就建立此文件,另一个进程监测这个文件,如果有就删除此文件!
你可以更新数据库某一个字段来间接监控另一个程序, 比如把 pythonrun 字段设置为 1 , vc 设置为 0 ,当 vc 俩次或者三秒监测字段为 0 ,认为 py 程序不运行 |