我已经搜索了这个主题,但找不到解决方案。有一些库oc2py和pytave但是,我是新手。我有一个批处理文件,我想从 python 运行它:
set SCRIPTS_DIR=(path of neccassary *.m files)
set OCTAVE_COMMAND="cd(getenv('SCRIPTS_DIR'));
set OCTAVE_COMMAND=%OCTAVE_COMMAND%CORE_LEVEL_PREPROCESS;
set OCTAVE_COMMAND=%OCTAVE_COMMAND%STARTUP_HYDROLOGY_MODULE;
set OCTAVE_COMMAND=%OCTAVE_COMMAND%CORE_LEVEL_OUTPUT_MANAGER;"
start octave-cli.exe --eval %OCTAVE_COMMAND%
CORE_LEVEL_PREPROCESS
、STARTUP_HYDROLOGY_MODULE
、CORE_LEVEL_OUTPUT_MANAGER
是 *.m 文件的名称SCRIPTS_DIR
。
我想我应该把这条线start octave-cli.exe --eval %OCTAVE_COMMAND%
给 python,但我不能那样做。
如果这是一个批处理文件,请尝试:
import os
os.system("D:\xxx1\xxx2XMLnew\otr.bat ")
如果做不到这一点,这个线程建议
from subprocess import Popen
p = Popen("batch.bat", cwd=r"C:Pathtobatchfolder")
stdout, stderr = p.communicate()