笔记
调用Python会带来开销®进程外的功能。此行为会影响性能。MathWorks建议在进程中调用Python函数,这是默认模式。
MATLAB®可以在单独的进程中运行Python脚本和函数。在单独的进程中运行Python使您能够:
在Python代码中使用一些与MATLAB不兼容的第三方库。
将MATLAB进程与Python代码中的崩溃隔离开来。
若要耗尽进程,请调用皮恩夫
与“执行模式”
参数设置为“进程外”
。例如,假设您要创建此列表
Python环境中的变量。
[‘星期一’、‘星期二’、‘星期三’、‘星期四’、‘星期五’]
要创建此列表
进程外,将MATLAB执行模式设置为“进程外”
. MATLAB显示有关当前Python环境的信息。
皮恩夫(“执行模式”,“进程外”)
ans=PythonEnvironment及其属性:版本:“2.7”可执行文件:“C:\Python27\pythonw.exe”库:“C:\windows\system32\Python27.dll”主目录:“C:\Python27”状态:未加载的执行模式:OutOfProcess
创建变量。
py.list({“星期一”,“星期二”,“星期三”,“星期四”,“星期五”})
ans=没有属性的Python列表。[‘星期一’、‘星期二’、‘星期三’、‘星期四’、‘星期五’]
MATLAB创建了一个名为MATLABPyHost
.
皮恩夫
ans=PythonEnvironment with properties:Version:“2.7”可执行文件:“C:\Python27\pythonw.exe”库:“C:\windows\system32\Python27.dll”主目录:“C:\Python27”状态:已加载的执行模式:OutOfProcess进程ID:“8196”进程名称:“MATLABPyHost”
笔记
清除Python对象是异步的,这意味着在调用同步调用后Python对象可能会保留在Python中myList2
是在之前创建的迈利斯特
它被摧毁了。
myList=py.list;清楚的迈利斯特myList2=py.list;
在进程外调用Python函数时,Python和MATLAB之间传递的变量大小限制为2GB。此限制适用于进程之间传递的数据和支持信息。金宝app