我想预加载Open CV脚本的import语句,这样,当我运行myOpenCvScript.py时,它不再需要导入任何内容,从而节省了时间。
但是生成pyshell并对其进行预加载是行不通的,因为它将只执行一次,然后我无法再次使用send方法,而是必须在触发事件时创建一个新的pyshell。否则我会得到
Error: This socket has been ended by the other party
at Socket.writeAfterFIN [as write]
所以我不能只继续创建pyshell,使其保持持续打开状态,然后使用send方法访问其方法。同样,首先仅使用“导入”加载脚本不起作用。
总结: 如何在执行之前为Python-Shell预加载Python导入?
在Javascript中:
var PythonShell = require('python-shell');
var options = {
mode: 'json',
pythonOptions: ['-u'],
scriptPath: __dirname + '/python/',
};
var pyshell = new PythonShell('myOpenCvScript.py', options);
我要从myOpenCvScript.py中预加载的部分:
import cv2