Python效率不好?你必須知道的7大Python效率工具
為了提高效率,我們?cè)谄綍r(shí)工作中常會(huì)用到一些Python的效率工具,Python作為比較老的編程語(yǔ)言,它可以實(shí)現(xiàn)日常工作的各種自動(dòng)化。為了更便利的開(kāi)發(fā)項(xiàng)目,這里給大家推薦幾個(gè)Python的效率工具。
1、Pandas-用于數(shù)據(jù)分析
Pandas是一個(gè)強(qiáng)大的分析結(jié)構(gòu)化數(shù)據(jù)的工具集;它的使用基礎(chǔ)是Numpy(提供高性能的矩陣運(yùn)算);用于數(shù)據(jù)挖掘和數(shù)據(jù)分析,同時(shí)也提供數(shù)據(jù)清洗功能。
- # 1、安裝包
- $ pip install pandas
- # 2、進(jìn)入python的交互式界面
- $ python -i
- # 3、使用Pandas>>> import pandas as pd>>> df = pd.DataFrame() >>> print(df)
- # 4、輸出結(jié)果
- Empty DataFrame
- Columns: []
- Index: []
2、Selenium-自動(dòng)化測(cè)試
Selenium是一個(gè)用于Web應(yīng)用程序測(cè)試的工具,可以從終端用戶的角度來(lái)測(cè)試應(yīng)用程序。通過(guò)在不同瀏覽器中運(yùn)行測(cè)試,更容易發(fā)現(xiàn)瀏覽器的不兼容性。并且它適用許多瀏覽器。
可以通過(guò)打開(kāi)瀏覽器并訪問(wèn)Google的主頁(yè)做一個(gè)簡(jiǎn)單的測(cè)試:
- from selenium import webdriver
- import time
- browser = webdriver.Chrome(executable_path ="C:\Program Files (x86)\Google\Chrome\chromedriver.exe")
- website_URL ="https://www.google.co.in/"
- brower.get(website_URL)
- refreshrate = int(3) #每3秒刷新一次Google主頁(yè)。
- # 它會(huì)一直運(yùn)行,直到你停掉編譯器。
- while True:
- time.sleep(refreshrate)
- browser.refresh()
3、 Flask——微型Web框架
Flask是一個(gè)輕量級(jí)的可定制框架,使用Python語(yǔ)言編寫(xiě),較其他同類(lèi)型框架更為靈活、輕便、安全且容易上手。Flask是目前十分流行的web框架。開(kāi)發(fā)者可以使用Python語(yǔ)言快速實(shí)現(xiàn)一個(gè)網(wǎng)站或Web服務(wù)。
- from flask import Flask
- app = Flask(__name__)
- @app.route('/')
- def hello_world():
- return 'Hello, World!'
4、 Scrapy——頁(yè)面爬取
Scrapy能夠?yàn)槟闾峁?qiáng)大支持,使你能夠精確地從網(wǎng)站中爬取信息。是非常實(shí)用。
現(xiàn)在基本上大部分開(kāi)發(fā)者都會(huì)利用爬蟲(chóng)工具來(lái)實(shí)現(xiàn)爬取工作的自動(dòng)化。所以編寫(xiě)爬蟲(chóng)編碼時(shí)就可以用到這個(gè)Scrapy。
啟動(dòng)Scrapy Shell也是十分的簡(jiǎn)單:
- scrapy shell
我們可以試著提取百度主頁(yè)上搜索按鈕的值,首先要找到按鈕使用的類(lèi),一個(gè)inspect element顯示該類(lèi)為“ bt1”。
具體執(zhí)行以下操作:
- response = fetch("https://baidu.com")
- response.css(".bt1::text").extract_first()
- ==> "Search"
5、 Requests——做API調(diào)用
Requests是一個(gè)功能強(qiáng)大的HTTP庫(kù)。有了它可以輕松地發(fā)送請(qǐng)求。無(wú)需手動(dòng)向網(wǎng)址添加查詢字符串。除此之外還有許多功能,比如authorization處理、JSON / XML解析、session處理等。
官方例子:
- >>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
- >>> r.status_code
- 200
- >>> r.headers['content-type']
- 'application/json; charset=utf8'
- >>> r.encoding
- 'utf-8'
- >>> r.text
- '{"type":"User"...'
- >>> r.json()
- {'private_gists': 419, 'total_private_repos': 77, ...}
6、Faker-用于創(chuàng)建假數(shù)據(jù)
Faker是一個(gè)Python包,為您生成假數(shù)據(jù)。無(wú)論是需要引導(dǎo)數(shù)據(jù)庫(kù)、創(chuàng)建好看的 XML 文檔、填寫(xiě)您的持久性來(lái)強(qiáng)調(diào)測(cè)試它,還是從生產(chǎn)服務(wù)中獲取的同名數(shù)據(jù),F(xiàn)aker 都適合您
有了它,你可以非??焖俚厣杉俚膎ames、addresses、descriptions等!以下腳本為例,我創(chuàng)建一個(gè)聯(lián)系人條目,包含了姓名、地址和一些描述文本:
安裝:
- pip install Faker
- from faker import Faker
- fake = Faker()
- fake.name()
- fake.address()
- fake.text()
7、 Pillow-進(jìn)行圖像處理
Python圖像處理工具——Pillow有相當(dāng)強(qiáng)大的圖像處理功能。當(dāng)平時(shí)需要做圖像處理時(shí)就可以用到,畢竟作為開(kāi)發(fā)人員,應(yīng)該選擇功能更強(qiáng)大的圖片處理工具。
簡(jiǎn)單示例:
- from PIL import Image, ImageFilter
- try:
- original = Image.open("Lenna.png")
- blurred = original.filter(ImageFilter.BLUR)
- original.show()
- blurred.show()
- blurred.save("blurred.png")
- except:
- print "Unable to load image"
有效的工具可以幫助我們更快捷地完成工作任務(wù),所以就給大家分享幾個(gè)認(rèn)為好用的工具,也希望這7個(gè)Python的效率工具能夠幫助到你。