Hi, I have one python script and i want to execute that in matlab.I tried with system in matlab. s=system('python trail.py 3') while excuting this command i'm getting a error like below. 'python' is not recognized as an internal or external command, operable program or batch file. Please can anybody help me in fixing this error. Thanks in advance
Regards Vasavi

 採用された回答

Walter Roberson
Walter Roberson 2012 年 6 月 22 日

0 投票

Either python is not installed in your system or it is not on your MS Windows PATH as known to MATLAB.
Inside MATLAB, command
getenv('PATH')
and see what it shows.
Note: python is not automatically installed as part of MATLAB. perl is, though, installed as part of MATLAB.

7 件のコメント

sai vasavi
sai vasavi 2012 年 6 月 28 日
Hello walter, Thanks for your response.I added python path to MS windows PATH.By adding this path that error got clear.Now,when I run the command like s=system("mypython.py"); this command just opening the corresponding python file but it is not executing in matlab. Actually,the requirement is I have created one function in python.I want to pass arguments to that function from matlab and saving the function output in matlab workspace. for illustration i have a function in python like in python environment define squared(x): y=x*x return y In Matlab environment, Squared(3) 9 Please help me in solving this. Regards Vasavi
Walter Roberson
Walter Roberson 2012 年 6 月 28 日
One way of proceeding (I think) would be to use MS Windows facilities to "associate" the .py file extension with the python interpreter.
Another way would be to specify the python interpreter as the command, and use whatever flags python uses in order to indicate that what follows is the name of the script to execute. For example it might look like
s = system('python -f mypython.py');
I am not familiar with python's argument-passing mechanisms; I know some other people around have used python so one of them might know.
sai vasavi
sai vasavi 2012 年 7 月 2 日
Thanks for your comment Walter. I am also new to this python.Please share any information regarding this request if any.I searched in google but i did n't get any solution to solve this.
Walter Roberson
Walter Roberson 2012 年 7 月 2 日
Thus for example
arg1 = 'C:\TEMP\MyInputFile.txt';
s = system( sprintf('python mypython.py "%s"', arg1) );
sai vasavi
sai vasavi 2012 年 7 月 10 日
Thanks for your response Walter.That issue is resolved.Now I am able to run that python function in matlab and saving the putput in workspace. I developed the code which can do the sam ehow perl functions are executed in matlab environment. Anyhow thanks for your help.
Sameer Khan
Sameer Khan 2013 年 7 月 15 日
編集済み: Sameer Khan 2013 年 7 月 15 日
sai vasavi: can you pleasse tell me how to run a mcros file with a .py extension in matlab? i want to get a .rpt file from abaqus simulation automatically for that i prepared a macros file with .py extension. I am new to abaqus and need help. or any other way to get the output values of displacements at a node for all time.?
Jerry Olup
Jerry Olup 2020 年 7 月 29 日
Found that you can get results back from python invoked from matlab by using [s,r] return values for system call where the strings python emits can be captured and parsed. Might be good to use files holding larger amounts of data with names printed for matlab to pick up and read.
A simple test I did was to write a squaring function and pass args:
>> arg1 = "1 2 3 4 5";
>> [s,r] = system(sprintf('python pysqr.py %s', arg1));
>> r
r =
'argument 1: 1
arg: 1 - sqr: 1
argument 2: 2
arg: 2 - sqr: 4
argument 3: 3
arg: 3 - sqr: 9
argument 4: 4
arg: 4 - sqr: 16
argument 5: 5
arg: 5 - sqr: 25
'

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by