<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          推薦一些能能提高生產(chǎn)力的 Python 庫

          共 3544字,需瀏覽 8分鐘

           ·

          2020-09-01 06:43


          一門編程語言好用、方便的程度在很多時(shí)候會(huì)取決于這門語言相關(guān)的庫夠不夠豐富,Python 之所以火爆除了其本身的語法和特性之外,還在一定程度上取決于其有太多太多庫的支持,不論是官方維護(hù)的還是第三方開發(fā)的。

          就比如說做機(jī)器學(xué)習(xí)為什么很多人都用 Python,一個(gè)非常大的因素就是 TensorFlow 和 PyTorch 對(duì) Python 的支持。

          當(dāng)然在這里并不是說 Python 的庫真的就全的不要不要的,它在某些領(lǐng)域或者項(xiàng)目的生態(tài)還是有待完善的。

          正好昨天刷到知乎一個(gè)問題「你見過哪些相見恨晚的 Python 庫?」,其意就是想了解下有哪些非常好用的提高生產(chǎn)力的 Python 庫。

          一些回答直接把 awesome-python 貼過來,點(diǎn)贊非常多,當(dāng)然多歸多,但是里面很多都是些過期的或者其實(shí)沒太有什么價(jià)值的庫,反而會(huì)增加了挑選庫的成本。我大體上把一些回答過了一遍,另外結(jié)合自己平時(shí)了解的內(nèi)容,稍微對(duì)一些基礎(chǔ)生產(chǎn)力庫做了簡單的梳理,在這里分享給大家。

          所以這里就不再針對(duì)于一些特殊的場景推薦了,如一些 Web開發(fā)庫、網(wǎng)絡(luò)請(qǐng)求庫、數(shù)據(jù)操作庫、數(shù)據(jù)分析庫、機(jī)器分析庫等等。下面主要羅列一些適用范圍和方向較廣,對(duì)于一些基礎(chǔ)設(shè)施的建設(shè)比較有用,能在多數(shù)場景下提高 Python 生產(chǎn)力的庫,描述比較簡單,主要是提供一個(gè)列表,僅供參考哈。

          attrs、cattrs

          https://github.com/python-attrs/attrs

          https://github.com/Tinche/cattrs

          簡化類的定義、序列化反序列化等操作。

          loguru

          https://github.com/Delgan/loguru

          可簡化日志記錄寫法。

          autopep8

          https://github.com/hhatto/autopep8

          把 Python 代碼轉(zhuǎn)成符合 PEP8 規(guī)范的代碼。

          psutil

          https://github.com/giampaolo/psutil

          Python 實(shí)現(xiàn)任務(wù)監(jiān)控的庫。

          furl

          https://github.com/gruns/furl

          對(duì) url 的處理非常方便,比 urllib 等庫好用多。

          retrying、tenacity

          https://github.com/rholder/retrying

          https://github.com/jd/tenacity

          異常重試庫,如出錯(cuò)之后重試多少次,尤其在發(fā)起一些 HTTP 請(qǐng)求時(shí)非常有用,當(dāng)然也能用于其他地方。

          typing

          https://docs.python.org/zh-cn/3/library/typing.html#module-typing

          對(duì) Python 類型的支持,支持多種類型、嵌套類型,也推薦多多使用 Python 的類型注解。

          argparse

          https://docs.python.org/zh-cn/3/library/argparse.html

          個(gè)人曾經(jīng)使用過幾個(gè)命令行解析工具,如 docopt,但后來還是轉(zhuǎn)回來了 argparse,功能齊全強(qiáng)大。

          absl-py

          https://github.com/abseil/abseil-py

          個(gè)人感覺比 argparse 更易用的庫,如 TensorFlow 就在使用這個(gè),對(duì)于定義一些 Flag 非常方便。

          pipenv

          https://github.com/pypa/pipenv

          功能更全的包管理工具,集成虛擬環(huán)境、支持 Lock 機(jī)制鎖定安裝包版本和依賴信息。當(dāng)然也有坑點(diǎn),可自行搜索。

          drf

          https://www.django-rest-framework.org/

          基于 Django 的 REST Framework,快速實(shí)現(xiàn) REST API。

          watchdog

          https://github.com/gorakhargosh/watchdog

          方便監(jiān)視文件系統(tǒng)改動(dòng)。

          glob

          https://docs.python.org/3/library/glob.html

          對(duì)文件的操作非常方便。

          2to3

          https://docs.python.org/2/library/2to3.html

          把 Python2 代碼轉(zhuǎn)成 Python3 代碼。

          glom

          https://github.com/mahmoud/glom

          對(duì) JSON 嵌套的處理非常方便。

          pathlib

          https://docs.python.org/3/library/pathlib.html

          更為方便的 Python 路徑操作庫。

          environs

          https://github.com/sloria/environs

          對(duì)于環(huán)境變量的獲取非常方便,支持多種類型,如 int、bool 等。

          pysnooper

          https://github.com/cool-RR/PySnooper

          非常方便簡單的 Python 調(diào)試器,可以追蹤到代碼每一處細(xì)節(jié)的執(zhí)行狀態(tài)。

          tqdm

          https://github.com/tqdm/tqdm

          進(jìn)度條控制顯示非常方便。

          sh

          https://github.com/amoffat/sh

          對(duì) Linux 一些命令的封裝,簡單好用又高效。

          faker

          https://github.com/joke2k/faker

          模擬數(shù)據(jù)的生成。

          arrow、dateutil、dateparser、pendulum

          https://github.com/crsmithdev/arrowhttps://github.com/dateutil/dateutil

          https://github.com/scrapinghub/dateparser

          https://github.com/sdispater/pendulum

          時(shí)間解析和處理庫,非常方便。arrow 目前 Star 最多,好評(píng)最多。

          yagmail

          https://github.com/kootenpv/yagmail

          方便的發(fā)郵件庫,替代自帶的 smtplib。

          chardet

          https://github.com/chardet/chardet

          字符串類型編碼檢測。

          pypinyin

          https://github.com/mozillazg/python-pinyin

          漢字轉(zhuǎn)拼音,在一些中文轉(zhuǎn)化處理上很有用。

          sphinx

          https://www.sphinx-doc.org/en/master/

          編寫文檔使用,大多數(shù) Python 庫文檔都是這個(gè)寫的,如 Scrapy、requests。

          個(gè)人 sphinx + markdown 的樣例:

          https://github.com/Gerapy/Docs

          jinja2

          https://github.com/pallets/jinja

          一個(gè)方便的模板引擎,呈現(xiàn)頁面時(shí)很方便。

          click

          https://github.com/pallets/click

          更方便靈活地實(shí)現(xiàn)命令行傳遞參數(shù)。

          ray

          https://github.com/ray-project/ray

          分布式多進(jìn)程管理。

          supervisor

          https://github.com/Supervisor/supervisor

          進(jìn)程管理工具,如實(shí)現(xiàn)多任務(wù)后臺(tái)運(yùn)行,Docker 打包時(shí)會(huì)經(jīng)常用到。

          apscheduler

          https://github.com/agronholm/apscheduler

          Python 定時(shí)任務(wù),不過 K8S 也可以實(shí)現(xiàn),個(gè)人目前可能更傾向于 K8S。

          intelpython

          https://software.intel.com/en-us/distribution-for-python

          這不是 Python 庫,是一個(gè) Intel 開發(fā)的基于 Intel 處理器優(yōu)化的 Python 解釋器,對(duì)于大規(guī)模運(yùn)算提升很大。

          完畢。

          好啦,先推薦這么多了,后面還會(huì)慢慢積累,大家可以了解下,個(gè)人感覺有不少庫還是能極大提高生產(chǎn)力的。

          由于這次主要是推薦一些適用范圍和方向較廣,個(gè)人感覺對(duì)于一些基礎(chǔ)設(shè)施的建設(shè)比較有用的庫,所以一些 Web、爬蟲、數(shù)據(jù)分析、機(jī)器學(xué)習(xí)等庫就沒有列在這里了。

          當(dāng)然也由于個(gè)人水平有限,也有很多庫沒有列全,如果大家有推薦的,歡迎留言分享哈!


          推薦閱讀


          帶你用 Python 實(shí)現(xiàn)自動(dòng)化群控(入門篇)

          Python 自動(dòng)化,Appium 憑什么使用 UiAutomator2?

          Python 自動(dòng)化,Helium 憑什么取代 Selenium?



          瀏覽 60
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天天日天天射大香蕉 | 美女被操爽 | HEZ-502搭讪绝品人妻系列 | 美女91aaa | 蜜桃臀女友nini |