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

~完~

相关推荐
bst@微胖子35 分钟前
Python高级语法之selenium
开发语言·python·selenium
王小义笔记40 分钟前
Postman如何流畅使用DeepSeek
开发语言·测试工具·lua·postman·deepseek
查理零世2 小时前
【蓝桥杯集训·每日一题2025】 AcWing 6118. 蛋糕游戏 python
python·算法·蓝桥杯
魔尔助理顾问3 小时前
一个简洁高效的Flask用户管理示例
后端·python·flask
java1234_小锋3 小时前
一周学会Flask3 Python Web开发-request请求对象与url传参
开发语言·python·flask·flask3
流星白龙5 小时前
【C++】36.C++IO流
开发语言·c++
诚信爱国敬业友善6 小时前
常见排序方法的总结归类
开发语言·python·算法
nbsaas-boot7 小时前
Go 自动升级依赖版本
开发语言·后端·golang
架构默片7 小时前
【JAVA工程师从0开始学AI】,第五步:Python类的“七十二变“——当Java的铠甲遇见Python的液态金属
java·开发语言·python
不只会拍照的程序猿8 小时前
从插入排序到希尔排序
java·开发语言·数据结构·算法·排序算法