標籤:

Python with MATLAB

我問來自俄羅斯的實習生,你對網上爭辯MATLAB和Python誰好誰壞有什麼看法。實習生表示他不會Python,但是只要能完成老闆布置的工作,哪個語言都無所謂。再說了,MATLAB從R2014b開始就可以調用Python了。

我問,為什麼要從MATLAB裡面調用Python啊?

他說,Python的某些庫比MATLAB要好用,比如做網頁解析的BeautifulSoup,MATLAB裡面雖然有輕量級的webread和xmlread之類的函數,但是無法和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 directoryP = 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));endhtmlPage = webread(http://zhuanlan.zhihu.com/matlab);soup = py.bs4.BeautifulSoup(htmlPage)

4.將你的程序和egg文件一起打包送出,讓別人去爭MATLAB好還是Python好吧!

說完實習生就走了,然而他忘記了展示如何使用BeautifulSoup, 後來再問他的時候,他說

我不會Python

I speak MATLAB

~完~

推薦閱讀:

Python數據分析及可視化實例之可視化圖表應用簡介
Python函數的參數列表中嵌套格式『[ [, [, ]]]』該如何理解,和一般的位置參數表示的區別有哪些?
如何深入了解python原理?
黃哥寫的對Python初學者有價值的文章。
部分免費Python免費視頻

TAG:MATLAB | Python |