现在有个程序 A,使用 C++编写。
然后有一个 Pythno 脚本 B,脚本 B 用于去某些指定的网站抓取数据,抓取的时间由程序 A 来决定,只有特定时间内抓取的数据才有效。
这里有 2 个限制
在这种情况下,只能在程序 A 里编写调用 python 脚本的代码。
请问类似这种情况,由 C++调用 Python 是否是最优选择?如果不是有没有更好的解决办法。
|  |      1gimp      2021-01-24 16:35:19 +08:00 脚本 B 经常性需要替换,不知道现在是怎么替换的 如果基于协议解耦呢,Python 提供 HTTP 、TCP 、UDP 接口,灵活性应该会高一点儿 | 
|  |      2locoz      2021-01-24 16:39:10 +08:00 via Android 把 B 做成 RPC 就好了 | 
|  |      3QBugHunter OP | 
|      4billlee      2021-01-24 16:44:14 +08:00 C++ 调 python 完全没有问题,不要乱优化 | 
|  |      5nuk      2021-01-24 16:46:19 +08:00 我们都是 popen 来一发 | 
|  |      6shakaraka PRO rpc ? | 
|  |      7QBugHunter OP @billlee  赵 4 老师说决定不要做语言 A 调用语言 B 这样的事情,但我又想不出别的好办法 | 
|  |      8Ptu2sha      2021-01-24 17:28:42 +08:00 mq rpc | 
|  |      9BingoXuan      2021-01-24 19:47:25 +08:00 via Android @QBugHunter  当然是开进程调用啦。不要老想着 a 语言调用 b 语言,然后写了各种接口。最后其实完全可以像楼上那样 popen 执行,抓取返回数据 | 
|      10wzzzx      2021-01-24 23:59:52 +08:00 这个调用没毛病,做好分层就可以。现在 Qt 的开发都是 C++ + QML,可以理解为 C++带动 JS,问题不大 | 
|      11wzzzx      2021-01-25 00:00:47 +08:00 不过我来搞的话,会看业务吧,看看能不能通过协议来调用,跨进程通信。这样耦合度会更低,也更好维护 | 
|      12dddd1919      2021-01-25 10:13:08 +08:00 如果 python 只是简单的任务脚本,需要调用执行即可:c++ 用 shell 命令 + 传参调用 python 脚本 |