效率倍增!5款非常超級實用的Python工具
近年來,隨著人工智能和云計算的蓬勃發(fā)展,Python 也迅速成為了網(wǎng)紅語言。它之所以廣受好評,這得益于開源的生態(tài)社區(qū)。
使用 Python 編程語言可以讓編程變得容易得多,同時節(jié)約了大量的時間成本!今天我給大家再分享 5 個比較實用 Python 模塊,這些模塊技巧將極大提升工作效率!
1、Shutil
Python 武器庫中最被低估的工具之一是 Shutil 模塊,此模塊包含在標準庫中,可以像通常導(dǎo)入語言中的任何模塊一樣導(dǎo)入:
- import shutil
Shutil 模塊是用于操作系統(tǒng)上文件系統(tǒng)的高級別接口。雖然這些調(diào)用通常是使用 os 模塊,但鮮為人知的是 shutil 模塊。以下是 Shutil 模塊為一些基本文件操作提供高級調(diào)用的一些示例:
- import shutil
- shutil.copyfile('mydatabase.db', 'archive.db')
- shutil.move('/src/High.py', '/packages/High')
2、glob
盡管 glob 模塊在幾乎不如 Lambda 有用,但該模塊在某些情況下卻非常棒,它可用于在目錄中搜索通配符。該模塊的導(dǎo)入方式如下:
- import glob
該模塊可以執(zhí)行任何典型的文件搜索。這包括使用Unix語法(即*,/等)進行文件搜索。使用方法如下:
- glob.glob('*.ipynb')
它將返回 glob 模塊找到的文件名列表。同時它也可用于聚合數(shù)據(jù)、處理存儲數(shù)據(jù)的文件!
3、argparse
argparse 模塊提供了一種更健壯和更深入的方法來解析命令行參數(shù)。許多開發(fā)操作工具都使用這個模塊,以便可以從 Unix 命令行進行交互。
這對于 Python 開發(fā)人員和數(shù)據(jù)科學人員來說非常有用。我們來導(dǎo)入此模塊:
- import argparse
為了使用該模塊,我們將構(gòu)建一個新類型,該類型將成為參數(shù)解析器:
- parser = argparse.ArgumentParser(prog = 'top',description = 'Show top lines from the file')
現(xiàn)在,我們向這個新讀取器添加參數(shù)。我們創(chuàng)建一個參數(shù),該參數(shù)可以傳遞,以確定從每個文件打印的行數(shù):
- parser.add_argument('-l', '--lines', type=int, default=10)
我添加了幾個關(guān)鍵詞參數(shù),其中一個參數(shù)將提供數(shù)據(jù)類型,另一個參數(shù)是調(diào)用文件時沒有設(shè)置此參數(shù)的默認值?,F(xiàn)在,我們可以通過調(diào)用新參數(shù)解析器 parse_args() 函數(shù)來獲取參數(shù):
- args = parser.parse_args()
現(xiàn)在,我們可以調(diào)用此 Python 文件進行編譯,同時輕松地從 Bash 提供必要的參數(shù)。
- python top.py --lines=5 examplefile.txt
4、Statistics
科學計算的另一個包是統(tǒng)計模塊。此模塊提供了一些基本統(tǒng)計信息,這些統(tǒng)計信息可能不像 SciPy 那樣深入,但仍足以滿足進行數(shù)據(jù)分析使用,而且非常好用!
- import statistics as st
這個模塊提供了大量有用的統(tǒng)計功能,當然值得一試!
- import statistics as st
- st.mean(data)
- st.median(data)
- st.variance(data)
5、zlib
zlib 模塊是使用 Python 壓縮數(shù)據(jù)的一個全功能解決方案,按照如下方式導(dǎo)入:
- import zlib
在 zlib 模塊中,最重要的功能可能是壓縮()和解壓縮(),操作如下:
- h = " Hello, it is me, you're friend!"
- print(len(h))
- t = zlib.compress(h)
- print(len(t))
- z = decompress(t)
- print(len(z))
結(jié)論
這些工具在處理復(fù)雜任務(wù)時非常方便,可以節(jié)省大量時間。這只是一些我比較喜歡的模塊,但還有很多!如果你感興趣,可以持續(xù)關(guān)注!