我从python运行matlab函数,这是以下代码:

def get_matlab_add_ons(cfg):
    matlab = os.environ.get(get_matlab_env_var(cfg)).replace('"', '')

    addons = subprocess.check_output(
        [matlab, "-log",
        "-wait", "-nosplash",
        "-nodesktop", "-r",
        "try, "
        "   disp(matlab.addons.installedAddons); " //This is the matlab function I am using
        "   exit(0), "
        "catch me, "
        "   fprintf(2,'%%s Line %%d in %%s',me.message, me.stack.line, me.stack.file);"
        "   bdclose('all');"
        "   exit(1), "
        "end"
        ], stderr=subprocess.STDOUT).decode('utf-8')

    print(addons)

当matlab命令窗口打开时,它冻结并在一段时间后显示“没有响应” . 我打开窗户10分钟,看看是否有可能发生的事情(没有成功) .

版本使用

  • Python 3.6

  • Matlab 2017b

我还使用了另一个名为“version”的Matlab函数,它基本上向我展示了我正在使用的Matlab版本 . 那一个有效 .

有任何想法吗?