问题描述
我想问一下 Python 中的一个命令,它的执行方式与 MATLAB 中的 dos()
命令完全一样。例如,我在 MATLAB 中有以下代码块,我想在 Python 中执行完全相同的操作。
**DIANA = '"C:\Program Files\Diana 10.3\\bin\\DianaIE.exe"';
MODEL = 'Input.dcp';
INPUTDIR = 'C:\Users\pc\Desktop\Thesis\PSO\';
OUTPUTDIR = 'C:\Users\pc\Desktop\Thesis\PSO\';
OUTPUT = 'FILE_OUTPUT.out';
workdirINPUT = sprintf('%s%s',INPUTDIR,MODEL);
workdirOUTPUT = sprintf('%s%s',OUTPUTDIR,OUTPUT);
%
NAMES = sprintf('%s %s %s',DIANA,workdirINPUT,workdirOUTPUT);
disp('Start DIANA');
dos(NAMES);
disp('End DIANA');**
解决方法
要执行代码块并在代码中获得 Python 中的输出,您可以使用名为 exec() 的函数并将要执行的表达式或代码作为字符串传递。
这将代码作为字符串接受。例子..
code = 'x=100\nprint(x)'
exec(code)
输出:
100
如果你想在 python 中使用命令提示符或 power shell 命令,你应该在 python 中使用一个名为 os 的库
import os
os.system('cd document')
您可以使用 os.path 模块来操作路径以及更多相关信息,请参阅本文档OS-Documentation
,import subprocess
subprocess.call(['C:\Program Files\Diana 10.3\bin\DianaIE.exe','C:\Users\pc\Desktop\Thesis\PSO\Input.py'])