running python script in matlab
显示 更早的评论
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
采纳的回答
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 个评论
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
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.
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.
Thus for example
arg1 = 'C:\TEMP\MyInputFile.txt';
s = system( sprintf('python mypython.py "%s"', arg1) );
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
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.?
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 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Call Python from MATLAB 的更多信息
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
