當前位置: 華文頭條 > 時尚

Python常用包,可以學學這九個

2022-03-27時尚

最近匯總了平時常用到的九個很好的Python包,它們能極大的提高我們的工作效率,安裝它們,然後逐步熟練使用它們。

1. Faker生成假數據

你若還在為生成名字、地址、IP地址而發愁,試試Faker庫吧。

它是專業生成假數據的神器,但生成的數據看起來又如此「不假」。

基本用法如下所示:

from faker import Faker fake = Faker(locale="zh_CN") fake.name() # '譚柳' fake.address() # '江西省關嶺縣新城趙街Y座 630814' fake.text() '怎麽作者地區.投資報告企業內容責任發展來源資料.一下自己一次全部社區.\n今天非常由於開發謝謝.其中大家組織遊戲.\n只有最新控制同時計劃學校.分析記者價格方式.\n成功可能感覺方式包括手機.中國重要這種比較必須中心我的.\n公司很多安全類別威望一種.標題部門全國檔日本貼文積分不同.\n工程這個其中銷售歷史可以.對於感覺全國發生國內不是.單位使用者新聞成為.留言本站說明報告工作繼續.'

2. Pendulum管理時間

使用日期和時間格式從來都不是一件有趣的事情。

盡管內建的datetime模組做得相當不錯,但有一個更直觀的Pendulum,能做到快速處理。

它支持時區轉換、日期、時間操作和格式設定。

如下是一個快速範例,快速建立1個上海時區的時間:

from datetime import datetime import pendulum sh = pendulum.timezone('Asia/Shanghai') shc = pendulum.now() print('Current Date Time in sh =', shc) # DateTime(2021, 12, 9, 16, 38, 52, 599942, tzinfo=Timezone('Asia/Shanghai')) shc.add(years=1) # DateTime(2022, 12, 9, 16, 38, 52, 599942, tzinfo=Timezone('Asia/Shanghai'))

3. Scrapy 做爬蟲

Scrapy是一個強大的工具,可以讓你從網站上快速提取資訊。

當需要從多個網站或網頁中提取大量資訊時,手動提取是低效的。

Scrapy提供了易於使用的方法和包,可以使用HTML標記或CSS類提取資訊。透過以下命令安裝scrapy:

pip install scrapy

然後直接在終端輸入下面一行程式碼:

scrapy fetch --nolog https://baidu.com

就能得到百度的首頁html內容。

4. 使用Pandas數據分析

Pandas是一個簡單但功能強大的數據分析工具。使用它可以進行數據清洗,並對其進行統計分析。

分析完數據後,還可以使用外部庫(如[Matplotlib])將其視覺化(https:// github.com/matplotlib/m atplotlib )。

Pandas最棒的地方是它建在NumPy上面,NumPy是一個強大的數據分析工具,因為Pandas基於它,所以這意味著大多數NumPy方法都是Pandas中已有的函數。

5. click命令列工具

click是一個Python包,可用於建立命令列介面,相當漂亮的命令列,相當絲滑。

讓我們看一個例子:

""" click 模組演示 """ @click.command() @click.option('--count', default=3) @click.option('--name', prompt='輸入你的名字:') def hello(count, name): for x in range(count): print(f"Hello {name}!") if __name__ == "__main__": hello()

hello函數公開了兩個參數:count和name。最後,在命令列,直接這樣呼叫指令碼:

python click_hello.py --count=5

最後打印:

輸入你的名字:: zhenguo Hello zhenguo! Hello zhenguo! Hello zhenguo! Hello zhenguo! Hello zhenguo!

6. 微web框架Flask

需要設定web伺服器嗎?

你有兩秒鐘的時間嗎?因為這就是用Python啟動簡單web伺服器所需的時間,直接下面一行程式碼:

python -m http.server 8000

但對於一個基本的web應用程式來說,這可能太簡單了。Flask是一個用Python構建的微web框架。它是「微型」的,因為它沒有任何數據庫抽象層、表單驗證或郵件支持。

幸運的是,它有大量的擴充套件,可以隨插即用,如果只想提供一個簡單的API,那麽它就是完美的。

要使用Flask建立API伺服器,請使用以下指令碼:

from flask import Flask from flask import jsonify app = Flask(__name__) @app.route('/') def root(): return jsonify( app_name="zhenguo的小工具", app_user="zhenguo" )

使用下面一行程式碼啟動服務:

FLASK_APP=flask.py flask run

最後,當您在瀏覽器中存取URLhttp:// 127.0.0.1:5000/ 時,

應該會看到以下JSON:

{"app_name":"zhenguo的小工具","app_user":"zhenguo"}

7. API請求Requests

Requests是一個強大的HTTP庫。有了它,可以自動化任何與HTTP請求相關的操作,包括API自動化呼叫,這樣你就不必再手動進行呼叫。

它附帶了一些有用的特性,如授權處理、JSON/XML解析和會話處理。

如下獲取明文地址:北京市海澱區清華東路35號,對應的經緯度時,使用百度地圖介面,免費註冊得到一個apk,返回經緯度結果如下所示:

import requests import re rep = requests.get( 'https://api.map.baidu.com/geocoding/v3/?address=北京市海澱區清華東路35號&output=json&ak=你的apk&callback=showLocation') print(re.findall(r'"lng":(.*),"lat":(.*?)}', rep.text)) # 結果顯示 [('116.35194130702107', '40.00664192889596')]

8. 自動化測試Selenium

Selenium是一個編寫自動化測試用例的測試框架。

盡管它是用Java編寫的,Python包提供對幾乎所有Selenium函數的類似API的存取。

Selenium通常用於自動化應用程式UI的測試,但您也可以使用它自動化機器上的任務,如開啟瀏覽器、拖放檔等。

看一個快速範例,演示如何開啟瀏覽器並存取百度主頁:

from selenium import webdriver import time browser = webdriver.Chrome(executable_path ="C:\Program Files (x86)\Google\Chrome\chromedriver.exe") website_URL ="https://baidu.com/" brower.get(website_URL) refreshrate = int(15) # 一直保持執行 while True: time.sleep(refreshrate) browser.refresh()

現在,該指令碼每15秒重新整理瀏覽器中的百度主頁。

9. 影像處理Pillow

很多時候,需要以某種方式修改影像,使其更適合,例如模糊細節、組合一個或多個影像或建立縮圖。

將自制的Pillow指令碼與Click組合在一起,然後直接從命令列存取它們,這對於加快重復的影像處理任務非常有用。

看一個模糊影像的快速範例:

from PIL import Image, ImageFilter try: original = Image.open("python-logo.png") # Blur the image blurred = original.filter(ImageFilter.BLUR) # Display both images original.show() blurred.show() blurred.save("blurred.png") except: print('未能載入影像')