python - 64 位上的 Matlab 安装目录是什么,或者如何在 Python 中获取它?

标签 python matlab

我的系统上有 Matlab2013b:

C:\Program Files\MATLAB\R2013b\bin

我正在编写Python脚本,首先在此位置搜索Matlab.exe,然后在64位位置搜索Matlab.exe。 Python 脚本将在可能具有 64 位而不是 32 位的服务器上运行。所以,我需要搜索这两个位置。
由于我的机器上没有 64 位版本,所以我不知道位置。

我推测它会是:

C:\Program Files (x86)\MATLAB\R2013b\bin

但是有人能证实这一点吗?
谢谢
塞迪

最佳答案

您可以读出环境变量PATH(我想说它很确定MATLAB包含它)并使用一些字符串操作来获取Matlab路径:

import os
path = os.environ.get('path')
pathlist = path.split(';')
matlabpath = [s for s in pathlist if all(x in s for x in ['MATLAB','R','bin'])]
print(matlabpath)

这样您就不需要推测我认为通常不好的编程实践。

<小时/>

就我而言,同一路径上还有一个工具箱 polyspace,您需要排除它:

matlabpath = [s for s in pathlist if all(x in s for x in ['MATLAB','R','bin']) and not 'polyspace' in s]

可能还有其他工具箱将自身写入路径 - 排除所有这些工具箱可能很麻烦,因此最简单的方法是返回所有与 Matlab 相关的路径中最短的一个:

import os
path = os.environ.get('path')
pathlist = path.split(';')
matlabpath = min([s for s in pathlist if 'MATLAB' in s], key=len) 
print(matlabpath)

关于python - 64 位上的 Matlab 安装目录是什么,或者如何在 Python 中获取它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32337950/

相关文章:

Python 求解模式并用数字和英文单词返回答案

matlab - 修改图像的亮度值。一个阈值

python - 如何在 Python 代码继续运行时持续闪烁 LED(或其他 while 循环)

python - 无法使用 Requests 库进行 Python 登录

python - 如何从 CSV 移动表格的列?

matlab - 如何让 MATLAB 忽略函数?

matlab - 基于矩阵 A,通过矩阵 A 的列的所有可能的乘法生成矩阵 B

python - 使用 find() Motor [MongoDB + Tornado] 时出现 BadYieldError

c++ - 在 C++ 中实现 matlab hist()

matlab - 生成具有特定秩和基数的随机矩阵