Python利用os.system运行MATLAB代码

15 篇文章 3 订阅

by HPC_ZY

由于剧情需要,要在python代码中运行一个MATLAB的文件。于是选择os.system,靠命令行运行.m文件。但是在过程中遇到一些问题,总结并将成功案例分享于此。

一、使用命令行

作为非计算机专业出身,今天才学会命令行,不排除有跟我一样刚接触的,所以也写在这里。

比如用命令行运行TIM软件,
1)win+R 弹出运行窗口,输入cmd打开命令行界面
2)输入程序位置+可执行文件,如D:\TIM\Bin\QQScLauncher.exe

TIM它就打开了

在这里插入图片描述


二、用命令行运行MATLAB代码

能运行TIM,它就也能运行MATLAB,而且MATLAB还专门有一套调用方式,可以在不打开MATLAB可视化界面的情况下,运行或调试你的**.m**文件。

今天才知道命令行的魅力,羡慕Linux大佬。

比如,我们在桌面新建一个文件夹命为“test”,然后写一个“test.m”文件,如下:

% 建立一个文本,写入一字符串
str = 'HPC_ZY';
fp = fopen('test.txt','w');
fprintf(fp, '%s', str);
fclose(fp);

运行命令行,输入以下指令
cd C:\Users\Administrator\Desktop\test
matlab -nojvm -nodisplay -nodesktop -r "test"

然后就在路径下生成一个txt文件咯。

在这里插入图片描述

注:
(1)指令中的空格不能省略,
(2)也可以直接输入 matlab -r "test",但这样就会启动MATLAB,变得更慢。
(3)更多高端操作这里就不写了


三、用Python启动命令行

利用os库里的 os.system()就能运行命令行了。

同样的例子,运行TIM

import os

comm = "D:\TIM\Bin\QQScLauncher.exe" # 指令
ret = os.system(comm) # 运行指令

四、Python利用命令行运行M文件

还是上面那个例子,

import os

comm1 = "cd C:\\Users\\Administrator\\Desktop\\test\\" # 指令1
comm2 = "matlab -nojvm -nodisplay -nodesktop -r \"test\""  # 指令2
comm = comm1 + "&&" + comm2 # 指令合并
ret = os.system(comm) # 运行指令

注:
(1)多行指令可以使用&&;连接,如上代码。
(2)本人是windows系统,发现只有用&&才能正常运行
(3)相关联的多行指令,需在一起运行,若像下面这样就达不到预期的效果

##  这样是不能成功的哦
import os

comm1 = "cd C:\\Users\\Administrator\\Desktop\\test\\" # 指令1
comm2 = "matlab -nojvm -nodisplay -nodesktop -r \"test\""  # 指令2
ret = os.system(comm1) # 运行指令1
ret = os.system(comm2) # 运行指令2

五、其他

1、第一次使用命令行,欢迎指出问题
2、在看一些大佬们在软件安装教程、环境配置教程、操作命令行或分享代码的时候,关于文件路径的地方都会打码。我没有,不知道会不会出事求解答

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值