<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>

          Github上有趣的100個python項(xiàng)目

          共 12953字,需瀏覽 26分鐘

           ·

          2020-07-27 18:57



          作者 | 朱衛(wèi)軍
          來源 | Python大數(shù)據(jù)分析


          Github上面有很多有趣的python項(xiàng)目,包括軟件、庫、教程、資源等。這次收集了其中比較受歡迎的100個,供大家參考。

          資料來源:https://github.com/521xueweihan/HelloGitHub

          項(xiàng)目鏈接:https://pan.baidu.com/s/16RFV_qFrpKUA2H7dknmzAQ?

          提取碼:v2wo

          ?

          1、awesome-python-webapp:廖老師的 Python 入門教程中的實(shí)踐項(xiàng)目的代碼

          2、Minos:一個基于 Tornado/MongoDB/Redis 的社區(qū)系統(tǒng)

          3、tushare:TuShare 是一個免費(fèi)、開源的 Python 財經(jīng)數(shù)據(jù)接口包,TuShare 文檔

          4、beijing_bus:北京實(shí)時公交,可以顯示查詢的公交到達(dá)某站還需多久

          5、luokr.com:Python Tornado 寫的開源網(wǎng)站——螺殼網(wǎng),訪問,如圖:

          6、ssbc:Python Django 寫的種子搜索網(wǎng)站——手撕包菜,如圖:

          7、listen1:Listen 1 讓你用一個網(wǎng)頁就能聽到多個網(wǎng)站的在線音樂,支持各種平臺。如圖:

          8、python-gems:有趣的 Pyhton 代碼片段集合

          9、algorithm:老齊的 Python 算法教程

          10、python-goose:Goose 用于文章提取器,提取中文內(nèi)容的示例代碼:

          >>>?from?goose?import?Goose
          >>>?from?goose.text?import?StopWordsChinese
          >>>?url??=?'http://www.bbc.co.uk/zhongwen/simp/chinese_news/2012/12/121210_hongkong_politics.shtml'
          >>>?g?=?Goose({'stopwords_class':?StopWordsChinese})
          >>>?article?=?g.extract(url=url)
          >>>?print?article.cleaned_text[:150]
          香港行政長官梁振英在各方壓力下就其大宅的違章建筑(僭建)問題到立法會接受質(zhì)詢,并向香港民眾道歉。

          梁振英在星期二(12月10日)的答問大會開始之際在其演說中道歉,但強(qiáng)調(diào)他在違章建筑問題上沒有隱瞞的意圖和動機(jī)。

          一些親北京陣營議員歡迎梁振英道歉,且認(rèn)為應(yīng)能獲得香港民眾接受,但這些議員也質(zhì)問梁振英有

          11、mincss:Python 寫的用來找到 CSS 中沒有用到的代碼片段,并刪除。適用于:想要做一個頁面,但是不會寫 CSS 人。示例代碼如下:

          #coding:utf-8
          #!/usr/bin/env?python
          from?__future__?import?print_function
          import?sys,?os
          sys.path.insert(0,?os.path.abspath('.'))
          from?mincss.processor?import?Processor

          #?這里改成想要參考的頁面
          URL?=?'http://localhost:9000/page.html'

          def?run():
          ????p?=?Processor()
          ????p.process(URL)

          ????#?輸出INlink的css的簡化前和簡化后的css代碼
          ????print("INLINES?".ljust(79,?'-'))
          ????for?each?in?p.inlines:
          ????????print("On?line?%s"?%?each.line)
          ????????print('-?'?*?40)
          ????????print("BEFORE")
          ????????print(each.before)
          ????????print('-?'?*?40)
          ????????print("AFTER:")
          ????????print(each.after)

          ????#?輸出link引用的css的簡化前和簡化后的css代碼
          ????print("LINKS?".ljust(79,?'-'))
          ????for?each?in?p.links:
          ????????print("On?href?%s"?%?each.href)
          ????????print('-?'?*?40)
          ????????print("BEFORE")
          ????????print(each.before)
          ????????print('-?'?*?40)
          ????????print("AFTER:")
          ????????print(each.after)

          if?__name__?==?'__main__':
          ????run()

          12、KindleEar:這是一個運(yùn)行在 Google App Engine(GAE) 上的 Kindle 個人推送服務(wù)應(yīng)用,生成排版精美的雜志模式mobi/epub格式自動每天推送至您的 Kindle 或其他郵箱。

          13、python-guide:Requests 庫的作者——kennethreitz,寫的 Python 入門教程。不單單是語法層面的,涵蓋項(xiàng)目結(jié)構(gòu)、代碼風(fēng)格,進(jìn)階、工具等方方面面。雖然是英文版(中文翻譯版),但我這個英語渣都能看懂,你肯定也可以,快去看看吧,開卷有益。在線閱讀

          14、flask-admin:我工作中需要寫一個微型的管理系統(tǒng),用的就是這個框架。簡直快餐型,頁面都寫好了,只要設(shè)置好相關(guān)配置就可以跑起來了。唯一缺點(diǎn)就是文檔中的例子少,開發(fā)一些特定的需求需要自己看源碼,才能知道如何改。文檔,下面是我跑起來之后的樣子:

          15、python-sdk:七牛云存儲 SDK。我自己在用他家的服務(wù),上手簡單、有免費(fèi)額度,可以用來做‘圖床’,同時,有了這個 SDK 可以寫一些好用的小工具。注意:圖床不能隨便用,我曾經(jīng)就用超了,賬戶的錢能扣成負(fù)數(shù)!

          16、superset:企業(yè)級的數(shù)據(jù)探索、展示平臺。功能很強(qiáng)大,可以用來做數(shù)據(jù)分析、展示。如下圖:

          17、flaskbb:基于 Flask 框架做的論壇,功能有限,輕量級的論壇應(yīng)用在線文檔,可以在這個項(xiàng)目上進(jìn)行二次開發(fā),實(shí)現(xiàn)更加復(fù)雜的功能。在線預(yù)覽

          18、fuck-login:模擬登錄一些知名的網(wǎng)站,為了方便爬取需要登錄的網(wǎng)站。注意:控制爬蟲的爬取頻率!

          19、Young:基于 Tornado 框架、MongoDB 數(shù)據(jù)庫,寫的功能豐富的社區(qū)項(xiàng)目。詳細(xì)的安裝步驟,適合學(xué)習(xí)如何創(chuàng)建社區(qū)類 Web App。在線預(yù)覽,項(xiàng)目運(yùn)行效果圖:

          20、textfilter:基于某 1w 詞敏感詞庫,用 Python 實(shí)現(xiàn)幾種不同的過濾方式。用于過濾敏感詞的實(shí)用模塊,示例代碼:

          from?filter?import?DFAFilter

          gfw?=?DFAFilter()
          gfw.parse("keywords")
          print?"待過濾:售假人民幣?我操操操"
          print?"過濾后:",?gfw.filter("售假人民幣?我操操操",?"*")

          test_first_character()

          #?運(yùn)行結(jié)果
          #?待過濾:售假人民幣?我操操操
          #?過濾后:?售假幣?

          21、qrcode:Python 寫的生成動態(tài)、彩色、各式各樣的二維碼,詳細(xì)的中文文檔,通過?qrcode?生成的二維碼樣式如下:

          22、httpie:非常好用的命令行 HTTP 客戶端,cURL 的替代者,返回的結(jié)果支持高亮,提高了可讀性。用于調(diào)試接口、查看服務(wù)器返回的 HTTP 協(xié)議的信息。在線文檔,下面的是 cURL 和 httpie 的返回結(jié)果對比圖:

          23、langid:用于識別輸入文本數(shù)據(jù)所屬的語種,目前支持 97 種語言識別。示例代碼:

          import?langid
          text1?=?"I?am?a?coder?and?love?data?mining"
          text2?=?"請注明作者和出處并保留聲明和聯(lián)系方式"

          print?langid.classify(text1)
          print?langid.classify(text2)

          #?('en',?0.9999957874458753)
          #?('zh',?1.0)

          24、fake-useragent:偽裝瀏覽器身份,常用于爬蟲。這個項(xiàng)目的代碼很少,可以閱讀一下,看看?ua.random?是如何返回隨機(jī)的瀏覽器身份的 ,示例代碼:

          from?fake_useragent?import?UserAgent
          ua?=?UserAgent()

          ua.ie
          #?Mozilla/5.0?(Windows;?U;?MSIE?9.0;?Windows?NT?9.0;?en-US);
          ua.msie
          #?Mozilla/5.0?(compatible;?MSIE?10.0;?Macintosh;?Intel?Mac?OS?X?10_7_3;?Trident/6.0)'
          ua['Internet?Explorer']
          #?Mozilla/5.0?(compatible;?MSIE?8.0;?Windows?NT?6.1;?Trident/4.0;?GTB7.4;?InfoPath.2;?SV1;?.NET?CLR?3.3.69573;?WOW64;?en-US)
          ua.opera
          #?Opera/9.80?(X11;?Linux?i686;?U;?ru)?Presto/2.8.131?Version/11.11
          ua.chrome
          #?Mozilla/5.0?(Windows?NT?6.1)?AppleWebKit/537.2?(KHTML,?like?Gecko)?Chrome/22.0.1216.0?Safari/537.2'
          ua.google
          #?Mozilla/5.0?(Macintosh;?Intel?Mac?OS?X?10_7_4)?AppleWebKit/537.13?(KHTML,?like?Gecko)?Chrome/24.0.1290.1?Safari/537.13
          ua['google?chrome']
          #?Mozilla/5.0?(X11;?CrOS?i686?2268.111.0)?AppleWebKit/536.11?(KHTML,?like?Gecko)?Chrome/20.0.1132.57?Safari/536.11
          ua.firefox
          #?Mozilla/5.0?(Windows?NT?6.2;?Win64;?x64;?rv:16.0.1)?Gecko/20121011?Firefox/16.0.1
          ua.ff
          #?Mozilla/5.0?(X11;?Ubuntu;?Linux?i686;?rv:15.0)?Gecko/20100101?Firefox/15.0.1
          ua.safari
          #?Mozilla/5.0?(iPad;?CPU?OS?6_0?like?Mac?OS?X)?AppleWebKit/536.26?(KHTML,?like?Gecko)?Version/6.0?Mobile/10A5355d?Safari/8536.25

          #?and?the?best?one,?random?via?real?world?browser?usage?statistic
          ua.random

          25、reddit:reddit.com 網(wǎng)站的源碼,通過這個項(xiàng)目,可以學(xué)習(xí) Python 在構(gòu)建大型項(xiàng)目中的使用、項(xiàng)目結(jié)構(gòu)、代碼風(fēng)格、Python 技巧的使用方法等。安裝教程

          26、httpstat:httpstat 美化了?curl?的結(jié)果,使得結(jié)果更加可讀。同時它無依賴、兼容 Python3、一共才 300 多行。還可以顯示 HTTP 請求的每個過程中消耗的時間,如下圖:

          27、PyMySQL:純 Pyton 寫的 MySQL 庫,純 Python 的好處就是可以運(yùn)行在任何裝有 Python 解釋器(CPython、PyPy、IronPython)的平臺上。相對于 MySQLdb 性能幾乎一樣,使用方法也一樣,但是 PyMySQL 安裝方法極其簡單——pip install PyMySQL,PyMySQL 使用示例代碼:

          #?下面為例子需要的數(shù)據(jù)庫的建表語句
          CREATE?TABLE?`users`?(
          ????`id`?int(11)?NOT?NULL?AUTO_INCREMENT,
          ????`email`?varchar(255)?COLLATE?utf8_bin?NOT?NULL,
          ????`password`?varchar(255)?COLLATE?utf8_bin?NOT?NULL,
          ????PRIMARY?KEY?(`id`)
          )?ENGINE=InnoDB?DEFAULT?CHARSET=utf8?COLLATE=utf8_bin
          AUTO_INCREMENT=1?;
          #?-*-?coding:?utf-8?-*-
          import?pymysql.cursors

          #?連接數(shù)據(jù)庫
          connection?=?pymysql.connect(host='localhost',
          ?????????????????????????????user='user',
          ?????????????????????????????password='passwd',
          ?????????????????????????????db='db',
          ?????????????????????????????charset='utf8mb4',
          ?????????????????????????????cursorclass=pymysql.cursors.DictCursor)

          try:
          ????with?connection.cursor()?as?cursor:
          ????????#?創(chuàng)建一個新的紀(jì)錄(record)
          ????????sql?=?"INSERT?INTO?`users`?(`email`,?`password`)?VALUES?(%s,?%s)"
          ????????cursor.execute(sql,?('[email protected]',?'very-secret'))

          ????#?連接不會自動提交,所以你想下面要調(diào)用?commit?方法,存儲對數(shù)據(jù)庫的改動
          ????connection.commit()

          ????with?connection.cursor()?as?cursor:
          ????????sql?=?"SELECT?`id`,?`password`?FROM?`users`?WHERE?`email`=%s"
          ????????cursor.execute(sql,?('[email protected]',))

          ????????#?獲取一條的紀(jì)錄(record)
          ????????result?=?cursor.fetchone()
          ????????print(result)??#?結(jié)果輸出:{'password':?'very-secret', 'id': 1}
          finally:
          ????connection.close()??#?操作完數(shù)據(jù)庫一要記得調(diào)用?close?方法,關(guān)閉連接

          28、flask-limiter:一個 Flask 的擴(kuò)展庫,它可以根據(jù)訪問者的 IP 限制其訪問頻率、次數(shù)等。示例代碼如下:

          from?flask?import?Flask
          from?flask_limiter?import?Limiter
          from?flask_limiter.util?import?get_remote_address

          app?=?Flask(__name__)
          limiter?=?Limiter(
          ????app,
          ????key_func=get_remote_address,
          ????global_limits=["2?per?minute",?"1?per?second"],
          )

          @app.route("/slow")
          @limiter.limit("1?per?day")
          def?slow():
          ????return?"24"

          @app.route("/fast")
          def?fast():
          ????return?"42"

          @app.route("/ping")
          @limiter.exempt
          def?ping():
          ????return?'PONG'

          app.run()

          29、ngrok:一個十分方便、好用的內(nèi)網(wǎng)穿透工具,它可以把本地某個端口的服務(wù),通過一個安全隧道,映射到公網(wǎng)的一個地址。同時它提供了一個 Web 頁面,展示了每個請求、響應(yīng)的所有信息,便于調(diào)試本地的程序。基本的使用方法如下:

          ngrok?協(xié)議?本地服務(wù)監(jiān)聽的端口
          ngrok?http?8000

          創(chuàng)建成功會返回公網(wǎng)地址,然后通過該地址就可以訪問到本地的服務(wù)。
          本地訪問?http://localhost:4040,就可以查看關(guān)于每個請求、響應(yīng)的相關(guān)數(shù)據(jù)

          30、glances:一個可以讓你一目了然你的系統(tǒng)情況(類 (h)top)的工具,它界面友好,安裝方便:pip install glances

          31、saythanks.io:Kennethreitz 寫的一個簡單的網(wǎng)站(基于 Flask),用于向開源項(xiàng)目作者發(fā)送感謝郵件的 Web App。該項(xiàng)目結(jié)構(gòu)簡單,可以用來學(xué)習(xí)大神是如何快速開發(fā) Web 項(xiàng)目、方法、代碼風(fēng)格、開發(fā)常用庫。而且該項(xiàng)目的意義也特別好:感謝開源項(xiàng)目的作者,愿開源社區(qū)越來越好,網(wǎng)站地址

          32、locust:模擬用戶行為的負(fù)載測試工具,包含友好的 Web 頁面,如下圖:

          33、jumpserver:Jumpserver 是一款由 Python 編寫開源的跳板機(jī)(是一類可作為跳板批量操作遠(yuǎn)程設(shè)備的網(wǎng)絡(luò)設(shè)備)系統(tǒng),實(shí)現(xiàn)了跳板機(jī)應(yīng)有的功能。基于 SSH 協(xié)議來管理,客戶端無需安裝 agent。支持常見 Linux 系統(tǒng),效果如下:

          34、sh:sh 是一個成熟,用于替代 subprocess,它允許你調(diào)用任何程序,就像它是一個函數(shù),支持 Python2.6 - 3.5

          from?sh?import?ifconfig
          print?ifconfig("eth0")

          35、fastText.py:fastText 簡而言之,就是把文檔中所有詞通過 lookup table 變成向量,取平均后直接用線性分類器得到分類結(jié)果。fastText 的實(shí)現(xiàn)

          36、mongoaudit:強(qiáng)大的 MongoDB 滲透測試工具,用于發(fā)掘 MongoDB 漏洞、并提出改善方法。

          • 安裝:pip install mongoaudit
          • 運(yùn)行:python mongoaudit

          37、mycli:mycli 是一個帶語法高亮、自動補(bǔ)全的 MySQL 命令行客戶端工具。例如,連接數(shù)據(jù)庫方法:mycli -h localhost -u 用戶名 數(shù)據(jù)庫

          38、python-fire:Fire 是 Google 開源的 Python 庫,可自動將您的代碼轉(zhuǎn)變成 CLI,無需您做任何額外工作。您不必定義參數(shù),設(shè)置幫助信息,或者編寫定義代碼運(yùn)行方式的 main 函數(shù)。相反,您只需從 main 模塊調(diào)用“Fire”函數(shù),其余工作全部交由 Python Fire 來完成。示例代碼如下:

          import?fire
          class?Example(object):
          ????def?hello(self,?name='world'):
          ????????"""Says?hello?to?the?specified?name."""
          ????????return?'Hello?{name}!'.format(name=name)

          def?main():
          ????fire.Fire(Example)
          if?__name__?==?'__main__':
          ????main()

          #?在終端中調(diào)用效果如下:
          $?./example.py?hello
          Hello?world!
          $?./example.py?hello?David
          Hello?David!
          $?./example.py?hello?--name=Google
          Hello?Google!

          39、ngxtop:解析 nginx 訪問日志并格式化輸出有用的信息,可以用來實(shí)時了解你的服務(wù)器正在發(fā)生的情況。安裝命令?pip install ngxtop,輸出示例如下:

          $?ngxtop
          running?for?411?seconds,?64332?records?processed:?156.60?req/sec

          Summary:
          |???count?|???avg_bytes_sent?|???2xx?|???3xx?|???4xx?|???5xx?|
          |---------+------------------+-------+-------+-------+-------|
          |???64332?|?????????2775.251?|?61262?|??2994?|????71?|?????5?|

          Detailed:
          |?request_path?????????????????????????????|???count?|???avg_bytes_sent?|???2xx?|???3xx?|???4xx?|???5xx?|
          |------------------------------------------+---------+------------------+-------+-------+-------+-------|
          |?/abc/xyz/xxxx????????????????????????????|???20946?|??????????434.693?|?20935?|?????0?|????11?|?????0?|
          |?/xxxxx.json??????????????????????????????|????5633?|?????????1483.723?|??5633?|?????0?|?????0?|?????0?|
          |?/xxxxx/xxx/xxxxxxx???????????????????????|????3624?|?????????7830.236?|??3621?|?????0?|?????3?|?????0?|
          |?/static/js/minified/utils.min.js?????????|????3031?|?????????1781.155?|??2104?|???927?|?????0?|?????0?|

          40、algorithms:基本算法、數(shù)據(jù)結(jié)構(gòu)的 Python 實(shí)現(xiàn)

          .
          ├──?array
          │???├──?circular_counter.py
          │???└──?...
          ├──?backtrack
          │???├──?anagram.py
          │???└──?...
          ├──?bfs
          │???├──?shortest_distance_from_all_buildings.py
          │???└──?word_ladder.py
          ├──?bit
          │???├──?count_ones.py
          │???└──?...
          │???└──?traversal.py
          └──?等等

          41、searx:分分鐘打造一個聚合的搜索引擎,使用簡單,部署方便。拓展方便,基于插件式的管理。演示地址

          42、grequests:Rquests + Gevent 讓異步 HTTP 變得簡單、人性化。示例代碼:

          >>>?import?grequests
          >>>?def?exception_handler(request,?exception):
          ...????print?"Request?failed"

          >>>?reqs?=?[
          ...????grequests.get('http://httpbin.org/delay/1',?timeout=0.001),
          ...????grequests.get('http://fakedomain/'),
          ...????grequests.get('http://httpbin.org/status/500')]
          >>>?grequests.map(reqs,?exception_handler=exception_handler)
          Request?failed
          Request?failed
          [None,?None,?]

          43、explainshell:一個可以解析 Linux 命令的網(wǎng)站,它可以給出命令的解釋和其參數(shù)的解釋,例如:ps -aux|grep python,在線演示

          44、certbot:免費(fèi)的自動啟用和部署 HTTPS 的工具,讓你的網(wǎng)站開啟 HTTPS 變得簡單快捷。在部署教程頁面選擇服務(wù)器的操作系統(tǒng)和 Web 服務(wù)器,之后根據(jù)給出的步驟一步步的執(zhí)行命令就行了,部署教程

          45、musicbox:基于 Python 編寫的網(wǎng)易云音樂命令行版本,使用起來簡單優(yōu)雅,能夠快速安裝及使用

          46、django-blog-tutorial:基于最新版 Django 1.10 和 Python 3.5,通過 26 篇教程一步步帶你使用 Django 從零開發(fā)一個個人博客系統(tǒng),在實(shí)踐的同時掌握 Django 的開發(fā)技巧,完成效果展示

          47、aredis:一款基于 Python3 asyncio 的異步 redis 客戶端,支持對于單實(shí)例,連接池, 哨兵以及集群。作者希望可以找到志同道合的小伙伴集思廣益,一起維護(hù)、優(yōu)化。示例代碼如下:

          >>>?import?asyncio
          ???>>>?from?aredis?import?StrictRedis
          ???>>>
          ???>>>?async?def?example():
          ???>>>??????client?=?StrictRedis(host='127.0.0.1',?port=6379,?db=0)
          ???>>>??????await?client.flushdb()
          ???>>>??????await?client.set('foo',?1)
          ???>>>??????assert?await?client.exists('foo')?is?True
          ???>>>??????await?client.incr('foo',?100)
          ???>>>
          ???>>>??????assert?int(await?client.get('foo'))?==?101
          ???>>>??????await?client.expire('foo',?1)
          ???>>>??????await?asyncio.sleep(0.1)
          ???>>>??????await?client.ttl('foo')
          ???>>>??????await?asyncio.sleep(1)
          ???>>>??????assert?not?await?client.exists('foo')
          ???>>>
          ???>>>?loop?=?asyncio.get_event_loop()
          ???>>>?loop.run_until_complete(example())

          48、freezegun:時間漫步模塊,模擬到某一個時間,使用簡單方式多樣,實(shí)現(xiàn)了裝飾器、上下文等調(diào)用方式。示例代碼如下:

          from?freezegun?import?freeze_time
          import?datetime
          import?unittest

          @freeze_time("2012-01-14")
          def?test():
          ????assert?datetime.datetime.now()?==?datetime.datetime(2012,?1,?14)

          49、LearnPython:這一個以”擼代碼“的形式學(xué)習(xí) Python 的編程技巧的項(xiàng)目,針對 Python 的一些語法特性力求通過代碼例子解釋該知識點(diǎn)、同時還有一些實(shí)踐項(xiàng)目,通過動手實(shí)踐有助于知識的融會貫通。同時可以關(guān)注作者的知乎專欄學(xué)習(xí)更多的 Python 編程技巧

          50、getproxy:極簡的抓取代理項(xiàng)目,無需配置。不僅提供了獲取代理腳本,同時可以通過該頁面,直接獲取可用代理(15min 更新、類型包含http和https)

          51、syncPlaylist:在網(wǎng)易云音樂與 QQ 音樂之間同步歌單。易于使用、配置方便、代碼簡單,用到的技術(shù):requests?+?beautifulsoup?以及?selenium?+?phantomjs

          52、GetSubtitles:通過拖曳視頻文件進(jìn)終端,一步下載字幕?到視頻對應(yīng)文件夾,并重命名字幕名稱為視頻名稱。Ubuntu 16.04、Windows 10上測試通過,同時兼容 Python2、3。Python 的魅力之一就是可以快速實(shí)現(xiàn)一個適合自己的小工具 Cool ??

          53、huey:結(jié)合 redis 實(shí)現(xiàn)的輕量任務(wù)隊(duì)列,但是支持功能還是很多的:

          • 多進(jìn)程、多線程、協(xié)程
          • 任務(wù)定時執(zhí)行
          • 任務(wù)執(zhí)行失敗重試
          • 結(jié)果存儲

          54、simiki:一個簡單的個人 Wiki 框架,便于快速搭建 Wiki 頁。使用 Markdown 書寫 Wiki, 生成靜態(tài) HTML 頁面。Wiki 源文件按目錄分類存放, 方便管理維護(hù)。中文文檔

          55、pyecharts:Echarts+Python 實(shí)現(xiàn)的一個用于生成 Echarts 圖表的類庫

          56、proxy_pool:基于 Python 的自建代理 IP 池服務(wù),通過網(wǎng)絡(luò)爬蟲抓取互聯(lián)網(wǎng)上免費(fèi)的代理 IP,本地校驗(yàn)、剔除失效的代理IP,從而實(shí)現(xiàn)高可用的代理 IP 池。最后使用 Flask 搭建提供代理 IP 服務(wù),包括代理池刷新、無效代理刪除、代理獲取等。該項(xiàng)目設(shè)計文檔詳細(xì)、模塊結(jié)構(gòu)簡明易懂,同時適合爬蟲新手更好的學(xué)習(xí)爬蟲技術(shù)

          57、WeiboSpider:分布式微博爬蟲,支持快速抓取和穩(wěn)定抓取兩種運(yùn)行模式。項(xiàng)目模塊邏輯清晰、注釋豐富、便于定制化自己的需求。同時,對于小白用戶,可以通過演示視頻快速入門,也提供QQ群答疑,已經(jīng)持續(xù)維護(hù)一年多。靠譜的項(xiàng)目,小伙伴們要趕快上車~

          58、pygorithm:一個幫助學(xué)習(xí)主要算法的庫,可以通過理解這些算法的實(shí)現(xiàn),提高自己的算法水平。冒泡排序示例:

          >>>?from?pygorithm.sorting?import?bubble_sort
          >>>?my_list?=?[12,?4,?3,?5,?13,?1,?17,?19,?15]
          >>>?sorted_list?=?bubble_sort.sort(my_list)
          >>>?print(sorted_list)
          >>>?[1,?3,?4,?5,?12,?13,?15,?17,?19]

          59、newspaper:強(qiáng)大的提取 Web 的內(nèi)容、文章的庫,支持多種語言,安裝命令?pip3 install newspaper3k。示例代碼:

          >>>?from?newspaper?import?Article

          >>>?url?=?'http://fox13now.com/2013/12/30/new-year-new-laws-obamacare-pot-guns-and-drones/'
          >>>?article?=?Article(url)

          >>>?article.download()

          >>>?article.html
          '

          >>>?article.parse()

          >>>?article.authors
          ['Leigh?Ann?Caldwell',?'John?Honway']

          >>>?article.publish_date
          datetime.datetime(2013,?12,?30,?0,?0)

          >>>?article.text
          'Washington?(CNN)?--?Not?everyone?subscribes?to?a?New?Year's?resolution...'

          >>>?article.top_image
          '
          http://someCDN.com/blah/blah/blah/file.png'

          >>>?article.movies
          ['
          http://youtube.com/path/to/link.com',?...]

          >>>?from?newspaper?import?Article
          >>>?url?=?'
          http://www.bbc.co.uk/zhongwen/simp/chinese_news/2012/12/121210_hongkong_politics.shtml'

          >>>?a?=?Article(url,?language='
          zh')?#?Chinese

          >>>?a.download()
          >>>?a.parse()

          >>>?print(a.text[:150])
          香港行政長官梁振英在各方壓力下就其大宅的違章建
          筑(僭建)問題到立法會接受質(zhì)詢,并向香港民眾道歉。
          梁振英在星期二(12月10日)的答問大會開始之際
          在其演說中道歉,但強(qiáng)調(diào)他在違章建筑問題上沒有隱瞞的
          意圖和動機(jī)。?一些親北京陣營議員歡迎梁振英道歉,
          且認(rèn)為應(yīng)能獲得香港民眾接受,但這些議員也質(zhì)問梁振英有

          >>>?print(a.title)
          港特首梁振英就住宅違建事件道歉

          60、faker:用于生成假數(shù)據(jù)的庫,支持多種語言,你值得擁有。示例代碼:

          fake.address()
          #?'遼寧省雪市靜安廉街b座?998259'

          fake.street_address()
          #?'巢湖街U座'

          fake.building_number()
          #?'x座'

          fake.city_suffix()
          #?'市'

          fake.latitude()
          #?Decimal('-0.295126')

          fake.province()
          #?'湖北省'

          61、binlog2sql:從 MySQL binlog 解析出你要的 SQL。根據(jù)不同選項(xiàng),提供如下功能

          • 數(shù)據(jù)快速回滾,閃回原理與實(shí)踐
          • 主從切換后新 master 丟數(shù)據(jù)的修復(fù)
          • 從 binlog 生成標(biāo)準(zhǔn)SQL,帶來的衍生功能

          62、pandas-tutorial:這套 pandas 教程包含從初級到進(jìn)階的內(nèi)容,適合初學(xué)者和希望進(jìn)階建立知識體系的數(shù)據(jù)科學(xué)從業(yè)者閱讀。作者還在持續(xù)更新高級內(nèi)容,你值得擁有

          63、pysheeet:Python 速查表,在線閱讀

          64、robobrowser:提供多種模擬操作網(wǎng)頁的庫,比如獲得網(wǎng)頁內(nèi)容、訪問鏈接、點(diǎn)擊按鈕、填充并提交表單、上傳文件。使用簡單、API 友好。適用于想要通過腳本流程化操作,某些未提供這些操作接口的場景,示例代碼如下:

          #?上傳文件
          from?robobrowser?import?RoboBrowser

          #?Browse?to?a?page?with?an?upload?form
          browser?=?RoboBrowser()
          browser.open('http://cgi-lib.berkeley.edu/ex/fup.html')

          #?Find?the?form
          upload_form?=?browser.get_form()
          upload_form?????????????????????#?

          #?Choose?a?file?to?upload
          upload_form['upfile']???????????#?
          upload_form['upfile'].value?=?open('path/to/file.txt',?'r')

          #?Submit
          browser.submit(upload_form)

          65、ItChat:開源的微信個人號SDK,提供了豐富的功能。從而使得 Python 調(diào)用微信、發(fā)送消息、傳輸文件等操作只需要編寫極少的代碼,示例代碼如下:

          import?itchat

          itchat.auto_login()

          itchat.send('Hello,?filehelper',?toUserName='filehelper')

          66、records:Kenneth Reitz 大神的for Humans?系列,Records 是一個支持大多數(shù)主流關(guān)系數(shù)據(jù)庫的原生 SQL 查詢第三方庫。API 友好,使用簡單、支持命令行模式、功能多樣。與此同時該庫只有 500 行代碼,可以當(dāng)作入門閱讀源碼的項(xiàng)目,同時學(xué)習(xí)大神的編程技巧與習(xí)慣,示例代碼如下:

          import?records

          db?=?records.Database('postgres://...')??#?連接數(shù)據(jù)庫
          rows?=?db.query('select?*?from?active_users')??#?執(zhí)行原生?SQL
          #?遍歷結(jié)果
          for?r?in?rows:
          ????print(r.name,?r.user_email)

          #?友好的?print?格式
          print(rows.dataset)
          #?username|active|name??????|user_email???????|timezone
          #?--------|------|----------|-----------------|--------------------------
          #?model-t?|True??|Henry?Ford|[email protected]|2016-02-06?22:28:23.894202

          #?支持將結(jié)果導(dǎo)出成不同格式
          print(rows.export('json'))??#?json
          print(rows.export('csv'))??#?csv
          print(rows.export('yaml'))?#?yaml
          rows.export('df')??#?pandas?的?df?對象
          with?open('report.xls',?'wb')?as?f:
          ????f.write(rows.export('xls'))??#?xls

          67、zdict:方便的終端字典工具,支持多種字典和參數(shù)、翻譯結(jié)果高亮、以及交互模式查詢。安裝命令?pip install zdict(僅支持 Python3)。查詢效果如下圖所示:

          68、joblib:使用 Python 方便的進(jìn)行并行計算,示例代碼如下:

          from?joblib?import?Parallel,?delayed
          from?math?import?sqrt
          Parallel(n_jobs=1)(delayed(sqrt)(i2)?for?i?in?range(10))

          69、tldr-python-client:Linux man 解釋一般都太長了,很多時候我們就想用一些比較常用的命令,但卻記不起來。這個時候如果不 Google,就可以用 tldr(簡化 man 的工程)。該項(xiàng)目為 Python 客戶端實(shí)現(xiàn)

          70、thefuck:在 Linux 命令行中,當(dāng)你輸入的命令有錯誤后,直接輸入?fuck?就可以自動執(zhí)行修復(fù)后的命令,效果圖如下:

          71、youtube-dl:強(qiáng)大的視頻下載工具,支持幾百個國內(nèi)外主流視頻網(wǎng)站。正如名字一樣,最初是為了下載 youtube 上的視頻而開發(fā)的。如果有國外服務(wù)器的朋友,可以充分利用這個工具,下載 youtube 上的視頻,速度不要太爽。下面介紹安裝、下載視頻等命令:

          # 1\. 安裝命令:sudo pip install youtube-dl
          Installing?collected?packages:?youtube-dl
          Successfully?installed?youtube-dl-2017.12.14

          # 2\. 查看 URL 支持格式:youtube-dl --list-formats URL
          format?code??extension??resolution?note
          134??????????mp4????????450x360????DASH?video??449k?,?avc1.4d4015,?25fps,?video?only
          17???????????3gp????????176x144????small?,?mp4v.20.3,?mp4a.40.2@?24k
          36???????????3gp????????300x240????small?,?mp4v.20.3,?mp4a.40.2
          18???????????mp4????????450x360????medium?,?avc1.42001E,?mp4a.40.2@?96k
          43???????????webm???????640x360????medium?,?vp8.0,?vorbis@128k?(best)

          # 3\. 選擇格式下載視頻:youtube-dl -f 18 URL (18為mp4 450x360格式)
          [youtube:playlist]?Downloading?playlist?PLF90USSyuoYzPhhFG7XFBRn63Zvs--lNP?-?add?--no-playlist?to?just?download?video?JyLducMVYVg
          [youtube:playlist]?PLF90USSyuoYzPhhFG7XFBRn63Zvs--lNP:?Downloading?webpage
          [download]?Downloading?playlist:?情滿四合院完整版
          [youtube:playlist]?playlist?情滿四合院完整版:?Downloading?42?videos
          [download]?Downloading?video?1?of?42
          ...

          #?4\.?下載完成后,最后使用?https://github.com/houtianze/bypy?庫把下載的視頻同步到百度網(wǎng)盤上

          72、jieba:強(qiáng)大的 Python 分詞庫,拿來直接用就好。示例代碼如下:

          #?encoding=utf-8
          import?jieba

          seg_list?=?jieba.cut("我來到北京清華大學(xué)",?cut_all=True)
          print("Full?Mode:?"?+?"/?".join(seg_list))??#?全模式

          seg_list?=?jieba.cut("我來到北京清華大學(xué)",?cut_all=False)
          print("Default?Mode:?"?+?"/?".join(seg_list))??#?精確模式

          seg_list?=?jieba.cut("他來到了網(wǎng)易杭研大廈")??#?默認(rèn)是精確模式
          print(",?".join(seg_list))

          seg_list?=?jieba.cut_for_search("小明碩士畢業(yè)于中國科學(xué)院計算所,后在日本京都大學(xué)深造")??#?搜索引擎模式
          print(",?".join(seg_list))

          【全模式】:?我/?來到/?北京/?清華/?清華大學(xué)/?華大/?大學(xué)

          【精確模式】:?我/?來到/?北京/?清華大學(xué)

          【新詞識別】:他, 來到, 了, 網(wǎng)易, 杭研, 大廈????(此處,“杭研”并沒有在詞典中,但是也被Viterbi算法識別出來了)

          【搜索引擎模式】:?小明, 碩士, 畢業(yè), 于, 中國, 科學(xué), 學(xué)院, 科學(xué)院, 中國科學(xué)院, 計算, 計算所, 后, 在, 日本, 京都, 大學(xué), 日本京都大學(xué), 深造

          73、pydu:該庫將平時常用的數(shù)據(jù)結(jié)構(gòu)和工具都收錄其中,可供日常開發(fā)的使用,同時方便學(xué)習(xí)與借鑒,豐富的文檔能幫助新手更好的理解和使用它。這些實(shí)用的模塊都是來自于開源項(xiàng)目和貢獻(xiàn)者們的智慧,快來加入到這個項(xiàng)目中,讓它變得更加實(shí)用和豐富

          74、shell-functools:把函數(shù)式的編程帶入 shell,從而讓很多事情變得簡單。通過 Python 的高階函數(shù)和內(nèi)置模塊 os.path 與命令的管道結(jié)合,達(dá)到了強(qiáng)大、高效的功效。相比于單純的命令實(shí)現(xiàn)更加的直觀和容易理解,示例代碼如下:

          示例?1
          #?ls?查看當(dāng)前目錄下的文件
          >?ls?
          document.txt
          folder
          image.jpg

          #?通過?map?abspath?展示這些文件的絕對路徑
          >?ls?|?map?abspath
          /tmp/demo/document.txt
          /tmp/demo/folder
          /tmp/demo/image.jpg

          示例?2
          #?find?命令找到的文件和目錄
          >?find
          .
          ./folder
          ./folder/me.jpg
          ./folder/subdirectory
          ./folder/subdirectory/song.mp3
          ./document.txt
          ./image.jpg

          #?把找到的結(jié)果中的文件,重命名在末尾追加?.bak?(備份文件)
          >?find?|?filter?is_file?|?map?basename?|?map?append?".bak"
          me.jpg.bak
          song.mp3.bak
          document.txt.bak
          image.jpg.bak

          75、tqdm:強(qiáng)大、快速、易擴(kuò)展的 Python 進(jìn)度條庫。我想通過下面的示例代碼和效果展示圖,你會跑去給這個項(xiàng)目來個 Star 的

          from?tqdm?import?tqdm
          for?i?in?tqdm(range(10000)):
          ????pass
          #?輸出結(jié)果:
          #?76%|████████████████████████████?????????|?7568/10000?[00:33<00:10,?229.00it/s]

          76、HAipproxy:使用 Scrapy+Redis 實(shí)現(xiàn)的高可用分布式 IP 代理池,為大型分布式爬蟲提供高可用低延遲的代理 IP 資源。

          from?client.py_cli?import?ProxyFetcher
          args?=?dict(host='127.0.0.1',?port=6379,?password='123456',?db=0)
          #?這里`zhihu`的意思是,去和`zhihu`相關(guān)的代理ip校驗(yàn)隊(duì)列中獲取ip
          #?這么做的原因是同一個代理IP對不同網(wǎng)站代理效果不同
          fetcher?=?ProxyFetcher('zhihu',?strategy='greedy',?redis_args=args)
          #?獲取一個可用代理
          print(fetcher.get_proxy())
          #?獲取可用代理列表
          print(fetcher.get_proxies())?#?or?print(fetcher.pool)

          以知乎為目標(biāo)抓取網(wǎng)站,該代理IP池的實(shí)際性能測試結(jié)果如下:

          77、MovieHeavens:基于 Pyqt4 的電影天堂電影搜索工具,再也不用忍受各種廣告和點(diǎn)擊跳轉(zhuǎn)了

          78、WechatSogou:基于搜狗微信搜索的微信公眾號爬蟲庫,極易上手。示例代碼:

          import?wechatsogou

          ws_api?=?wechatsogou.WechatSogouAPI()
          ws_api.get_gzh_info('微信名稱')

          79、Synonyms:中文近義詞工具包。支持自然語言理解的很多任務(wù):文本對齊、推薦算法、相似度計算、語義偏移、關(guān)鍵字提取、概念提取、自動摘要、搜索引擎等。示例代碼如下:

          import?synonyms
          synonyms.seg("能量")

          80、pook:模擬 HTTP 請求結(jié)果的庫,可用于單元測試等場景。采用裝飾器方式調(diào)用的示例代碼如下:

          import?pook
          import?requests

          @pook.get('http://httpbin.org/status/500',?reply=204)
          @pook.get('http://httpbin.org/status/400',?reply=200)
          def?fetch(url):
          ????return?requests.get(url)

          res?=?fetch('http://httpbin.org/status/400')
          print('#1?status:',?res.status_code)

          res?=?fetch('http://httpbin.org/status/500')
          print('#2?status:',?res.status_code)

          81、incubator-airflow:定時任務(wù)管理平臺,管理和調(diào)度各種離線定時任務(wù),自帶 Web 管理界面。當(dāng)定時任務(wù)量達(dá)到百級別的時候,就無法再使用 crontab 有效、方便地管理這些任務(wù)了。該項(xiàng)目就是為了解決了這個問題而誕生的

          82、wtfpython:有趣、令人驚訝(坑爹)、鮮為人知的 Python 代碼片段集合。中文

          83、redis-faina:Redis 性能分析器。提供兩種模式分析模式:命令實(shí)時、讀取日志。其原理是使用 Redis MONITOR 命令,將該命令的結(jié)果通過管道傳遞給 redis-faina 腳本,腳本將返回的信息解析,并匯成總成統(tǒng)計信息。具體信息如下所示:

          注意:分析非常閑的 redis 實(shí)例時,分析的結(jié)果可能偏差的很多。
          時間單位為微秒:ms = 1.0?× 10^-6 seconds

          Overall?Stats
          ========================================
          #?總命令數(shù)
          Lines?Processed???10
          #?QPS
          Commands/Sec??????1.03???????

          #?出現(xiàn)最多的?key?的前綴
          Top?Prefixes???????????????????????????
          ========================================
          startchart???9?(90.00%)

          #?請求最多的key
          Top?Keys????????????????????????????????
          ========================================
          startchart:521xueweihan/hellogithub???9?(90.00%)

          #?請求最多的命令
          Top?Commands????????????????????????
          ========================================
          get???9?(90.00%)

          #?請求響應(yīng)時間的分布
          Command?Time?(microsecs)???????
          ========================================
          Median???583914.0
          75%??????637395.0
          90%??????5703923.0
          99%??????5703923.0

          #?總耗時最多的命令
          Heaviest?Commands?(microsecs)
          ========================================
          get???9746157.0

          #?慢請求列表
          Slowest?Calls?????????????????????????????
          ========================================
          5703923.0???"get"?"startchart:521xueweihan/hellogithub"
          637395.0????"get"?"startchart:521xueweihan/hellogithub"
          633909.0????"get"?"startchart:521xueweihan/hellogithub"
          583914.0????"get"?"startchart:521xueweihan/hellogithub"
          569207.0????"get"?"startchart:521xueweihan/hellogithub"
          548745.0????"get"?"startchart:521xueweihan/hellogithub"
          545493.0????"get"?"startchart:521xueweihan/hellogithub"
          523571.0????"get"?"startchart:521xueweihan/hellogithub"

          84、marshmallow:使用類似于 ORM 的語法,序列化、反序列化 Python 對象。可以將序列化的對象呈現(xiàn)為標(biāo)準(zhǔn)格式,適用于例如數(shù)據(jù)校驗(yàn)、返回 HTTP API 的 JSON。示例代碼如下:

          from?datetime?import?date
          from?marshmallow?import?Schema,?fields,?pprint

          class?ArtistSchema(Schema):
          ????name?=?fields.Str()

          class?AlbumSchema(Schema):
          ????title?=?fields.Str()
          ????release_date?=?fields.Date()
          ????artist?=?fields.Nested(ArtistSchema())

          bowie?=?dict(name='David?Bowie')
          album?=?dict(artist=bowie,?title='Hunky?Dory',?release_date=date(1971,?12,?17))

          schema?=?AlbumSchema()
          result?=?schema.dump(album)
          pprint(result,?indent=2)
          #?輸出如下
          #?{?'artist':?{'name':?'David?Bowie'},
          #???'release_date':?'1971-12-17',
          #???'title':?'Hunky?Dory'}

          85、tenacity:使用該庫可以優(yōu)雅地實(shí)現(xiàn)各種需求的重試。示例代碼如下:

          from?tenacity?import?retry,?stop_after_attempt

          #?通過裝飾器,實(shí)現(xiàn)遇到異常重試3次
          @retry(stop=stop_after_attempt(3))?
          def?get_data(url):
          ????response?=?requests.get(url)
          ????response_json?=?response.json()

          86、unimatrix:模擬“黑客帝國”影片中的終端動畫腳本

          87、pudb:基于控制臺的全屏 Python 可視化調(diào)試器。比 pdb 好用太多了,特性:

          • 源碼語法高亮,棧、斷點(diǎn)、變量可見并且一直動態(tài)更新。變量展示還有很多可以定制化的功能。
          • 基于鍵盤,簡單高效。支持 VI 的鼠標(biāo)移動。還支持 PDB 的某些命令
          • 支持查找源代碼,可以使用 m 代用 module browser 查看載入的模塊
          • 斷點(diǎn)設(shè)置。鼠標(biāo)移到某行代碼,按 b,然后可以在斷點(diǎn)窗口編輯斷點(diǎn)

          88、Scylla:一款高質(zhì)量的免費(fèi)代理 IP 池工具,僅支持 Python 3.6。中文文檔,特性如下:

          • 自動化的代理 IP 爬取與驗(yàn)證
          • 易用的 JSON API
          • 簡單但美觀的 web 用戶界面,基于 TypeScript 和 React(例如,代理的地理分布)
          • 最少僅用一行代碼即可與 Scrapy 和 requests 進(jìn)行集成
          • 等等

          89、hue:開源的 Apache Hadoop UI 系統(tǒng)。通過使用 Hue 我們可以在瀏覽器端的 Web 控制臺上與 Hadoop 集群進(jìn)行交互來分析處理數(shù)據(jù)。核心功能:

          • 數(shù)據(jù)可視化
          • SQL 編輯器,支持 Hive、Impala、MySQL等
          • 可進(jìn)行 workflow 的編輯、查看

          90、FeelUOwn:一個符合 Unix 哲學(xué)的跨平臺的音樂播放器,主要面向 Linux/macOS 用戶。特性:

          • 安裝簡單,新手友好
          • 默認(rèn)提供國內(nèi)各音樂平臺插件(網(wǎng)易云、蝦米、QQ)
          • 較強(qiáng)的可擴(kuò)展性可以滿足大家折騰的欲望
          • 核心模塊有較好文檔和測試覆蓋

          91、tinydb:TinyDB 是使用純 Python 編寫的 NoSQL 數(shù)據(jù)庫,使用 json 文件存儲數(shù)據(jù)。它區(qū)別于 SQLite 的關(guān)系性數(shù)據(jù)庫。同樣的小、不需要依賴外部服務(wù)器。適用于桌面程序、客戶端,不適用于 Web 應(yīng)用、高性能的數(shù)據(jù)查詢。友好的 API,示例代碼:

          >>>?from?tinydb?import?TinyDB,?Query
          >>>?db?=?TinyDB('path/to/db.json')
          >>>?User?=?Query()
          >>>?db.insert({'name':?'John',?'age':?22})
          >>>?db.search(User.name?==?'John')
          [{'name':?'John',?'age':?22}]

          92、TGmeetup:搜集、整理、展示、報名技術(shù)類線下聚會的命令行工具,讓使用者可以更加方便、及時的獲取技術(shù)類活動資訊

          93、termtosvg:Python 寫的終端記錄器。通過命令?termtosvg?運(yùn)行該工具,然后在終端執(zhí)行你要展示的命令,最終輸入?exit?命令結(jié)束錄制,本地會生成一份 SVG 動畫,可用于分享、展示終端操作。效果如下:

          94、cx-extractor-python:這是一個對網(wǎng)頁正文進(jìn)行抽取的工具。cx-extractor 算法的 python 版本,改進(jìn)了原有算法,使其支持中英文,對新聞類網(wǎng)頁正文抽取效果較好。示例代碼:

          from?crawler.cx_extractor_Python?import??cx_extractor_Python
          cx?=?cx_extractor_Python()
          test_html?=?cx.getHtml('http://news.163.com/16/0101/10/BC84MRHS00014AED.html')
          content?=?cx.filter_tags(test_html)
          s?=?cx.getText(content)
          print(s)

          95、awslogs:一個簡單的命令行工具,用于在本地查詢 Amazon CloudWatch 日志,強(qiáng)大的支持多實(shí)例日志匯總查看。簡單的查看命令:awslogs get /var/logs/syslog ALL -s1d

          96、CUP:CUP 基礎(chǔ)庫是百度開源的 Python 語言基礎(chǔ)庫,致力將 DEV 從涉及底層操作、Util 操作類解放出來,使其更關(guān)注構(gòu)建 service 上層業(yè)務(wù)邏輯。目前已涵蓋了構(gòu)建一個服務(wù)的各個方面,大家可以從基礎(chǔ)庫的代碼結(jié)構(gòu)、wiki、doc 中進(jìn)行簡單了解。

          cup
          ????|--?cache.py????????????????module??????????????緩存相關(guān)模塊?(?Memory?cache?related?module?)
          ????|--?decorators.py???????????module??????????????python?修飾符,比如?@Singleton?單例模式?(Decorators?of?python)
          ????|--?err.py??????????????????module??????????????異常?exception?類,?Exception?classes?for?CUP
          ????|--?__init__.py?????????????module??????????????默認(rèn)__init__.py,?Default?__init__.py
          ????|--?log.py??????????????????module??????????????打印日志類,CUP?的打印日志比較簡潔、規(guī)范,設(shè)置統(tǒng)一、簡單(cup?logging?module)
          ????|--?mail.py?????????????????module??????????????發(fā)送郵件?(?CUP?Email?module?(send?emails))
          ????|--?net?????????????????????package?????????????網(wǎng)絡(luò)相關(guān)操作(?Network?operations,?such?as?net?handler?parameter?tuning?)
          ????|--?oper.py?????????????????module??????????????一些混雜操作(Mixin?operations)
          ????|--?platforms.py????????????module??????????????跨平臺、平臺相關(guān)操作函數(shù)(Cross-platform?operations)
          ????|--?res?????????????????????package?????????????資源獲取、實(shí)時用量統(tǒng)計等,所有在?/prco?可獲得的系統(tǒng)資源、進(jìn)程、設(shè)備等信息?(?Resource?usage?queries?(in?/proc)、Prcoess?query、etc?)
          ????|--?shell???????????????????package?????????????命令?Shell?操作?pakcage?(?Shell?Operations、cross-hosts?execution?)
          ????|--?services????????????????package?????????????構(gòu)建服務(wù)支持的類(比如心跳、線程池?based?執(zhí)行器等等)?Heartbeat、Threadpool?based?executors、file?service、etc
          ????|-- thirdp ???????????????? package ????????????第三方依賴純 Py 模塊( Third-party modules:pexpect、httplib2 )
          ????|--?timeplus.py?????????????module??????????????時間相關(guān)的模塊(Time?related?module)
          ????|--?unittest.py?????????????module??????????????單元測試支持模塊(?Unittest、assert、noseClass?)
          ????|--?util????????????????????package?????????????線程池、可打斷線程、語義豐富的配置文件支持(?ThreadPool、Interruptable-Thread、Rich?configuration、etc?)
          ????|--?version.py??????????????module??????????????內(nèi)部版本文件,CUP?Version

          97、supervisor:Python 開發(fā)的一個 C/S 服務(wù),是 Linux/Unix 系統(tǒng)下的一個進(jìn)程管理工具,不支持 Windows 系統(tǒng)。它可以很方便的監(jiān)聽、啟動、停止、重啟一個或多個進(jìn)程。用 Supervisor 管理的進(jìn)程,當(dāng)一個進(jìn)程意外被殺死,supervisort 監(jiān)聽到進(jìn)程死后,會自動將它重新啟動,很方便的做到進(jìn)程自動恢復(fù)的功能,提高系統(tǒng)、服務(wù)的穩(wěn)定性,多用于生產(chǎn)環(huán)境

          98、himawaripy:一個 Python3 腳本,它會定時(需設(shè)置定時任務(wù))抓取由日本 Himawari 8 氣象衛(wèi)星拍攝的接近實(shí)時的地球照片,并將它設(shè)置成你的桌面背景

          99、loguru:一個讓 Python 記錄日志變得簡單的庫

          100、weixin_crawler:基于 Scrapy、Flask、Echarts、Elasticsearch 等實(shí)現(xiàn)的微信公眾號文章爬蟲。自帶 UI 界面、分析報告、搜索功能


          所有項(xiàng)目鏈接:https://pan.baidu.com/s/16RFV_qFrpKUA2H7dknmzAQ?

          提取碼:v2wo

          -END-

          瀏覽 38
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <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>
                  无码一区二区三区四区五 | 亚洲欧美久久在线 | 黄色视频网站在线免费观看 | 日本做爱视频 | 欧美成人网站在线观看 |