Python with MATLAB

Python with MATLAB

原文:Python with MATLAB - 知乎 (zhihu.com)

我问来自俄罗斯的实习生,你对网上争辩MATLAB和Python谁好谁坏有什么看法。实习生表示他不会Python,但是只要能完成老板布置的工作,哪个语言都无所谓。再说了,MATLAB从R2014b开始就可以

调用Python

了。

我问,为什么要从MATLAB里面调用Python啊?

他说,Python的某些库比MATLAB要好用,比如做网页解析的BeautifulSoup,MATLAB里面虽然有轻量级的webreadxmlread之类的函数,但是无法和BeautifulSoup提供的功能相比。今天就请他为大家展示下如何在MATLAB中调用Python的BeautifulSoup进行网页的解析。

首先我们需要确定你的电脑已经安装了Python,unix系统应该都自带

复制代码
>>pyversion

       version: '2.7'
    executable: '/usr/bin/python'
       library: '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib'
          home: '/System/Library/Frameworks/Python.framework/Versions/2.7'
      isloaded: 0

如果没有可以参考官方文档,安装Python

接下来就可以直接调用Python自带的库啦,可以参见官方文档

现在,我们安装第三方的BeautifulSoup库,点这里下载

我们选择的是当前最新的4.4.1版本,下载解压后,在系统console/shell中进行安装

复制代码
sudo python setup.py install

完成,现在就可以在MATLAB中享受bs4.BeautifulSoup啦!

复制代码
>>htmlPage = webread('http://zhuanlan.zhihu.com/matlab');
>>soup = py.bs4.BeautifulSoup(htmlPage);

如果你想要打包你的程序让别人也能使用,可以做如下几件事

  1. 找到第三方Python库的egg包,比如我的BeautifulSoupzhu在了

    /Library/Python/2.7/site-packages/beautifulsoup4-4.4.1-py2.7.egg

2.把egg文件放入到方便的位置,比如和程序同目录下

3.将egg文件加入MATLAB的python path.

复制代码
% Import beautifulsoup from current directory
P = py.sys.path;
if count(P,'bs4') == 0
    utilpath = fileparts(mfilename('fullpath'));
    insert(P,int32(0),fullfile(utilpath,'beautifulsoup4-4.4.1-py2.7.egg'));
end
htmlPage = webread('http://zhuanlan.zhihu.com/matlab');
soup = py.bs4.BeautifulSoup(htmlPage)

4.将你的程序和egg文件一起打包送出,让别人去争MATLAB好还是Python好吧!

说完实习生就走了,然而他忘记了展示如何使用BeautifulSoup, 后来再问他的时候,他说

我不会Python
I speak MATLAB

~完~

相关推荐
慕y2741 分钟前
Java学习第十六部分——JUnit框架
java·开发语言·学习
liulilittle19 分钟前
SNIProxy 轻量级匿名CDN代理架构与实现
开发语言·网络·c++·网关·架构·cdn·通信
费弗里23 分钟前
Python全栈应用开发利器Dash 3.x新版本介绍(3)
python·dash
Shartin27 分钟前
CPT208-Human-Centric Computing: Prototype Design Optimization原型设计优化
开发语言·javascript·原型模式
dme.39 分钟前
Javascript之DOM操作
开发语言·javascript·爬虫·python·ecmascript
teeeeeeemo1 小时前
回调函数 vs Promise vs async/await区别
开发语言·前端·javascript·笔记
加油吧zkf1 小时前
AI大模型如何重塑软件开发流程?——结合目标检测的深度实践与代码示例
开发语言·图像处理·人工智能·python·yolo
t_hj1 小时前
python规划
python
ejinxian1 小时前
PHP 超文本预处理器 发布 8.5 版本
开发语言·php
czhc11400756631 小时前
Linux 76 rsync
linux·运维·python