首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从Python运行Matlab脚本时如何获取Matlab错误消息

从Python运行Matlab脚本时如何获取Matlab错误消息
EN

Stack Overflow用户
提问于 2021-12-18 18:02:47
回答 2查看 55关注 0票数 1

我正在通过Python运行Matlab脚本。出于某些原因,我使用Python中的os.system('matlab -batch "my_script;"')运行它。假设Matlab脚本中有一个错误。此错误将作为Matlab工作空间打印在终端窗口上,但我希望捕获python级别的错误消息并将其用于其他目的(例如将其发送出去或保存到txt文件中.)。如果你能帮我这个忙我会很感激的。

注意,出于一个原因,我不能在Python中使用Matlab引擎包,所以我使用的是system命令。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-20 01:45:33

我找到了解决办法。如果有人有类似的问题,请回答我的问题:

在您的Matlab脚本中,可以这样做:

代码语言:javascript
运行
复制
if exist('error_message', 'file')
   delete('error_message'); 
end
try
   your_script_or_any_operation; 
catch ME
   diary('error_message')
   disp(ME.message);
end

这将在error_message文件中写入错误。

票数 0
EN

Stack Overflow用户

发布于 2021-12-20 02:19:57

您应该使用subprocess.run而不是os.system。您将能够将stderr ( MATLAB在使用-batch时向其写入错误消息的流)作为字符串捕获。这将避免需要文件来捕获错误消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70405809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档