用了這個(gè)幾個(gè)Python內(nèi)置小工具,可以讓你的工作效率提升一倍
我們將會(huì)介紹4個(gè)Python解釋器自身提供的小工具。
這些小工具在筆者的日常工作中經(jīng)常用到,
減少了各種時(shí)間的浪費(fèi),
然而,卻很容易被大家忽略。
每當(dāng)有新來的同事看到我這么使用時(shí),
都忍不住感嘆,
原來Python還隱藏了這么好用的功能。
下面就來看一下Python自帶的幾個(gè)小工具
一、1秒鐘啟動(dòng)一個(gè)下載服務(wù)器
在我們工作中,時(shí)不時(shí)都會(huì)有這樣的一個(gè)需求:將文件傳給其他同事。
將文件傳給同事本身不是一個(gè)很繁瑣的工作,現(xiàn)在的聊天工具都是支持文件傳輸。
但是,還有另一情況如果我們需要傳送的文件較多的時(shí)候,操作起來就會(huì)比較麻煩。
此外,如果文件在遠(yuǎn)程的服務(wù)器上傳給你的同事,
則需要先將遠(yuǎn)程服務(wù)器的文件下載到本地,然后再通過聊天工具傳給同事。
再或者,你并不是特別清楚要傳哪幾個(gè)文件給同事,
所以,你們需要進(jìn)行來回的交流。
交流的時(shí)間成本是比較高的,會(huì)降低辦事效率。
此時(shí),你們需要更加高效的方法。
這個(gè)時(shí)候,
如果你知道Python內(nèi)置了一個(gè)下載服務(wù)器就能夠顯著提升效率了。
例如:
你的同事要讓你傳的文件位于某一個(gè)目錄下,
那么,你可以進(jìn)入這個(gè)目錄,
然后執(zhí)行下面的命令啟動(dòng)一個(gè)下載服務(wù)器:
在Python 3中,
由于對(duì)系統(tǒng)庫進(jìn)行了重新整理,
因此,使用方式會(huì)有不同:
執(zhí)行上面的命令就會(huì)在當(dāng)前目錄下啟動(dòng)一個(gè)文件下載服務(wù)器,
默認(rèn)打開8000端口。
這個(gè)時(shí)候,
你只需要將IP和端口告訴同事,
讓同事自己去操作即可,
非常的方便高效。
例如:
筆者在自己的服務(wù)器上的`~/temp`目錄下
啟動(dòng)一個(gè)下載服務(wù)器:
使用瀏覽器訪問Python啟動(dòng)的下載服務(wù)器,
可以看到一個(gè)類似于FTP下載的界面。
這個(gè)時(shí)候,
點(diǎn)擊文件下載即可,
降低了大家的溝通成本。
從工作原理角度來說,執(zhí)行上面的命令,
只是啟動(dòng)了一個(gè)Python內(nèi)置的web服務(wù)器。
如果當(dāng)前目錄下存在一個(gè)名為index.html的文件,
則默認(rèn)會(huì)顯示該文件的內(nèi)容;
如果當(dāng)前目錄下不存在這樣一個(gè)文件,
則默認(rèn)顯示當(dāng)前目錄下的文件列表,
也就是大家看到的下載服務(wù)器。
二、字符串轉(zhuǎn)換為JSON
JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,
易于人類閱讀和編寫,同時(shí)也易于機(jī)器解析和生成。
由于JSON的諸多優(yōu)點(diǎn),已經(jīng)廣泛使用在各個(gè)系統(tǒng)中,
因此,
我們經(jīng)常會(huì)有將JSON字符串轉(zhuǎn)換為JSON對(duì)象的需求。
例如:
在筆者的工作過程中,我們的系統(tǒng)會(huì)調(diào)用底層服務(wù)的API,
底層服務(wù)的API一般都是以JSON的格式返回,
為了便于問題追蹤,
我們會(huì)將API返回的JSON轉(zhuǎn)換為字符串記錄到日志文件中。
當(dāng)需要分析問題時(shí),
就有可能需要將日志文件中的JSON字符串扣出來進(jìn)行分析,
這個(gè)時(shí)候,
需要將一個(gè)JSON字符串轉(zhuǎn)換為JSON對(duì)象以便于閱讀。
這個(gè)需求是如此的常見,
以至于使用搜索引擎搜索"JSON",
處于搜索結(jié)果的***項(xiàng)便是"在線JSON格式化工具"。
除了打開瀏覽器,使用在線JSON格式化工具以外,
我們也可以使用命令行終端的Python解釋器來解析JSON串,
如下所示:
使用命令行解釋器解析JSON串非常的方便,
而且,為了便于閱讀,
該工具還會(huì)自動(dòng)將轉(zhuǎn)換的結(jié)果進(jìn)行對(duì)齊和格式化,
如下所示:
三、檢查第三方庫是否正確安裝
安裝完P(guān)ython的第三方庫以后,
如何確認(rèn)這個(gè)庫已經(jīng)正確安裝了呢?
這個(gè)問題的答案很簡(jiǎn)單,
只需要嘗試進(jìn)行import導(dǎo)入,
如果導(dǎo)入沒有任何錯(cuò)誤,
則認(rèn)為安裝成功了。
驗(yàn)證Python的第三方庫是否安裝成功,
本身也是一件很簡(jiǎn)單的事情,
但是,如果我們使用腳本對(duì)大批量的服務(wù)器進(jìn)行自動(dòng)部署,
又應(yīng)該如何驗(yàn)證第三方庫安裝成功了呢?
肯定不能登錄每一臺(tái)服務(wù)器進(jìn)行驗(yàn)證,
這個(gè)時(shí)候,
我們可以使用Python解釋器的`-c`參數(shù)快速的執(zhí)行import語句
如下所示:
使用這種驗(yàn)證方式,
不但比交互式的驗(yàn)證更加高效,
更重要的是,
能夠在腳本中實(shí)現(xiàn)對(duì)于遠(yuǎn)程服務(wù)器的驗(yàn)證操作。
四、使用Python解壓zip壓縮包
如果你是一名具有工作經(jīng)驗(yàn)的工程師,
一定遇到過要在Linux下解壓zip格式壓縮包的需求。
Linux下一般都是用tar命令創(chuàng)建和讀取壓縮包,
但是,tar命令并不支持zip格式的壓縮包。
為了讀取zip格式的壓縮包,需要使用unzip,
而大部分操作系統(tǒng)都沒有安裝unzip,
因此,每次需要在Linux下解壓zip格式的壓縮包都會(huì)比較麻煩。
除了安裝unzip工具和編寫Python腳本解壓zip格式的壓縮包以外,
也可以使用zipfile模塊提供了命令行接口。
你以后可以在Linux下,
使用Python命令創(chuàng)建和解壓zip格式的壓縮包。
zipfile模塊提供的命令行接口包含以下幾個(gè)選項(xiàng):
- -l <zipfile> 顯示zip格式壓縮包中的文件列表
- -c 創(chuàng)建zip格式壓縮包
- -e 提取zip格式壓縮包
- -t 驗(yàn)證文件是一個(gè)有效的zip格式壓縮包
下面的命令使用Python的zipfile模塊提供的命令行接口,
創(chuàng)建、查看和提取zip格式壓縮包:
用了這個(gè)幾個(gè)Python內(nèi)置小工具,可以讓你的工作效率提升一倍
總結(jié):
這篇文章介紹了4個(gè)Python內(nèi)置的小工具,
希望對(duì)大家有所幫助、能夠提高大家的工作效率。