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