python - 从 Python 运行 MATLAB 脚本
问题描述
我正在访问一个远程系统,启动 MATLAB 的方法是ssh
在 ubuntu 终端上执行以下操作。
/media/data/software/matlab2018a/bin/matlab -nojvm -nodisplay -nosplash
它在不打开完整 GUI 的情况下打开了一个简单的 MATLAB vi 类界面。
/media/data/software/matlab2018a/bin/matlab
是我的 MATLAB exe 文件的位置,-nojvm -nodisplay -nosplash
基本上告诉不要在远程桌面上打开完整的 MATLAB GUI。
现在,当我在 MATLAB 编辑器中时,我运行以下命令来执行 MATLAB 脚本script_name
cd location_of_script
script_name
script_name
基本上读取一些由 Python 生成的图像,进行一些处理并将结果保存在某个.txt
文件中。
我想统一这两个步骤程序。也就是说,只要我的 Python 函数完成其工作,它就应该调用 MATLAB 脚本并仅在.txt
保存文件时终止。
该脚本不需要任何输入参数。
谢谢
解决方案
您可以使用subprocess从 Python 启动 MATLAB。
启动 MATLAB 时,应使用以下启动标志:
sd
设置 MATLAB 工作目录。-r
执行 MATLAB 将运行的语句。
有关启动选项的更多信息在这里。
import subprocess
subprocess.run("/media/data/software/matlab2018a/bin/matlab -sd \"location_of_script\" -r \"run('script_name');exit\" -nojvm -nodisplay -nosplash")
推荐阅读
- mysql - Debezium kafka 连接连接器未成功更新
- mysql - 根据数字标准汇总项目
- platform - 如何在 Commercetools 平台中设置 ProductType 属性的默认值?
- excel - 激活包含代码的工作簿
- c++ - 如何从列表中对(自定义)字符串进行排序
- laravel - VerifyCsrfToken.php 中的令牌不匹配异常
- dart - 我们是否需要像 Apache 这样的额外 Web 服务器来处理来自 Dart 服务器的多个 API 请求?
- javascript - 将日志输出到 /var/log/syslog
- spring-boot - 无法自动从 redis 会话中检索 securityContext
- php - 为什么我收到空字符串 PHP curl OpenCart