如何解决通过 Native Messaging Extension (Firefox) 从 Python 启动 Matlab 时出现奇怪错误
我正在尝试在从 Firefox 本机消息传递应用程序检索到的 URL 上运行一些 Matlab 代码。 我使用使用 Matlab 引擎运行我的脚本的 python 脚本。 这工作得很好:
SELECT c1.*,SUM(c1.Qte) OVER (PARTITION BY c1.RefId ORDER BY c1.CreationDate)
- SUM(c1.Qte) OVER (PARTITION BY c1.RefId,c1.CreationDate ORDER BY c1.CreationDate) AS RunningTotal_Qte
FROM Command c1
ORDER BY c1.RefId,c1.CreationDate
现在我想检查 Matlab 是否正在运行,如果没有启动它:
import matlab.engine
import sys
import struct
import time
import subprocess
import logging
# Function to receive Message
def getMessage():
rawLength = sys.stdin.buffer.read(4)
print(rawLength)
if len(rawLength) == 0:
sys.exit(0)
messageLength = struct.unpack('@I',rawLength)[0]
message = sys.stdin.buffer.read(messageLength).decode('utf-8')
eng = matlab.engine.connect_matlab()
eng.workspace['url'] = message
eng.eval('myMatlabFunc(url)',nargout=0)
getMessage()
这有效,之后我也可以运行我的代码:
if not matlab.engine.find_matlab():
subprocess.run('C:\\Program Files\\MatlabR2020b-64bit\\bin\\matlab.exe')
但后来我遇到了一个奇怪的行为,我无法解释。
脚本一完成,Matlab 就退出,没有警告/崩溃/异常... 最奇怪的是,只有当我通过本机消息连接运行 skript 时才会发生这种情况。
如果我在 Pycharm 中运行脚本,一切都会按预期工作。
我希望这里有人能帮我解决这个问题!
谢谢, 本
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。