MATLAB 中的 DOS 命令

问题描述

我想问一下 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'])