亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

一些讓你敢到相見恨晚的Python庫

下面給大家引薦幾個我用過的,而且格外好用的項目,而不是簡略的貼一下awesome Python。信任很多人看完awesome Python今后,僅僅簡略的收藏一下,并沒有很多協(xié)助。

1. yagmail

Python官網(wǎng)上發(fā)郵件的例子(Examples - Python 2.7.13 documentation),大家感受一下。反正我看到這一堆的import就已經(jīng)被嚇退場了。

一些讓你敢到相見恨晚的Python庫

如果使用yagmail,發(fā)送一個帶附件的郵件,只需要2行代碼:

一些讓你敢到相見恨晚的Python庫

2. requests

requests很多人都推薦過了,不過可能一些同學(xué)感受不到requests到底好在哪里。我們就以官網(wǎng)的例子為例簡單說明,在沒有request之前,如果我們要請求https://api.github.com/user,需要像下面這樣:

一些讓你敢到相見恨晚的Python庫

用requests以后,做同樣的事情,我們可以這樣(注意,前3行代碼等于上面一整段代碼):

一些讓你敢到相見恨晚的Python庫

3. psutil

psutil是用來獲取操作系統(tǒng)監(jiān)控以及進(jìn)程管理的,如果你正在寫一個監(jiān)控系統(tǒng)(或腳本),趕緊去試試。這么說吧,我曾經(jīng)使用psutil把網(wǎng)易內(nèi)部的一個監(jiān)控模塊,從1000+行重構(gòu)到了100+行。

我這里推薦的幾個庫,可能yagmail對最多人有用。而psutil,對專業(yè)的人士最有用。如果你要寫一個監(jiān)控系統(tǒng),不使用psutil的話,只能直接去/proc目錄下讀取想用的文件進(jìn)行計算,或者執(zhí)行iostat、vmstat、df等Linux命令獲取命令輸出,不管哪一種方法,都要處理很多繁瑣的細(xì)節(jié)。有了psutil以后,就輕松多了。貼段代碼大家感受一下:

一些讓你敢到相見恨晚的Python庫

此外,使用越來越廣泛的監(jiān)控工具glances(如果沒用過,要不現(xiàn)在就是試試?),就是用psutil收集相關(guān)數(shù)據(jù)的。

4. BeautifulSoup

如果你寫爬蟲,還在用XPath解析HTML,那趕緊用用BeautifulSoup,比XPath好用一百倍;如果你還在用正則表達(dá)式從HTML中獲取內(nèi)容,BeautifulSoup能讓你好用到哭。(補(bǔ)充:評論里大家都說XPath更好用,難道是我思維方式和大家不一樣?)

BeautifulSoup是用來解析HTML的,特點(diǎn)就是好用,有人吐槽BeautifulSoup慢?我不在乎BeautifulSoup比XPath慢多少,我只知道,我的時間比機(jī)器的更寶貴。

例如,要找到頁面中所有的links,如下所示:

一些讓你敢到相見恨晚的Python庫

例如,我在編寫知乎的爬蟲的時候,對于每一個用戶的”關(guān)注”頁面,對于每一個關(guān)注對象,有如下的tag:

一些讓你敢到相見恨晚的Python庫

所以,解析單個關(guān)注的用戶代碼如下所示:

一些讓你敢到相見恨晚的Python庫

有了BeautifulSoup以后,爬蟲操作就變得特別簡單了。臟活累活別人都幫忙做好了。

5. utils

除了開源的庫以外,還有些開源項目的DataStruct.py helper.py utils.py文件,也值得看一看。里面很多好東西,都是可以直接拿過來用的。

一些讓你敢到相見恨晚的Python庫

我舉幾個例子。

  • requests中的CaseInsensitiveDict(https://github.com/kennethreitz/requests/blob/v1.2.3/requests/structures.py#L37-L109),大家看名字就知道什么意思了,我就不多說了。

一些讓你敢到相見恨晚的Python庫
  • werkzeug中的LocalProxy、ImmutableList、ImmutableDict(https://github.com/pallets/werkzeug/blob/master/werkzeug/datastructures.py#L128),其中ImmutableList和ImmutableDict大家一看就知道是什么意思,這里要說的是LocalProxy,使用LocalProxy,分分鐘實現(xiàn)代理模式。
  • web.py的utils.py中各個函數(shù)和類都值得看一看(https://github.com/webpy/webpy/blob/master/web/utils.py#L48),不但可以了解好用的函數(shù)和數(shù)據(jù)結(jié)構(gòu),而且,還能夠?qū)W習(xí)一下高手的Python代碼。例如:

一些讓你敢到相見恨晚的Python庫

ps:web.py的作者是亞倫·斯沃茨(Aaron Swartz),一位年少成名的計算機(jī)天才,聞名交際網(wǎng)站Reddit聯(lián)合創(chuàng)始人。致力于網(wǎng)絡(luò)信息敞開,卻因涉嫌不合法侵入麻省理工學(xué)院(MIT)和JSTOR(全稱Journal Storage,存儲學(xué)術(shù)期刊的在線體系)被指控,將遭到最高35年拘禁和100萬美元罰款。該案正在認(rèn)罪辯訴期間,而亞倫·斯沃茨卻于2013年1月11日在其紐約布魯克林的寓所內(nèi),用一根皮帶上吊自殺,尸身隨后被女友發(fā)現(xiàn),年僅26歲。

 

馬哥學(xué)習(xí)交流群

馬哥教育-Python開發(fā)-1群 335068227

馬哥教育-Python開發(fā)-2群 608459685

 

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國內(nèi)好評如潮的Linux云計算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!