盤(pán)點(diǎn)十個(gè)超級(jí)好用的高級(jí)Python腳本
在日常的生活和工作中,我們經(jīng)常會(huì)遇到一些大小問(wèn)題,其中有很多的問(wèn)題,都是可以使用一些簡(jiǎn)單的Python代碼就能解決。
比如不久前的復(fù)旦大佬,用130行Python代碼硬核搞定核酸統(tǒng)計(jì),大大提升了效率,節(jié)省了不少時(shí)間。
今天,就帶大家學(xué)習(xí)一下10個(gè)Python腳本程序。
雖然簡(jiǎn)單,不過(guò)還是蠻有用的。
有興趣的可以自己去實(shí)現(xiàn),找到對(duì)自己有幫助的技巧。
1、Jpg轉(zhuǎn)Png
圖片格式轉(zhuǎn)換,以前小F可能第一時(shí)間想到的是【格式工廠(chǎng)】這個(gè)軟件。
如今編寫(xiě)一個(gè)Python腳本就能完成各種圖片格式的轉(zhuǎn)換,此處以jpg轉(zhuǎn)成png為例。
有兩種解決方法,都分享給大家。
# 圖片格式轉(zhuǎn)換, Jpg轉(zhuǎn)Png
# 方法①
from PIL import Image
img = Image.open('test.jpg')
img.save('test1.png')
# 方法②
from cv2 import imread, imwrite
image = imread("test.jpg", 1)
imwrite("test2.png", image)2、PDF加密和解密
如果你有100個(gè)或更多的PDF文件需要加密,手動(dòng)進(jìn)行加密肯定是不可行的,極其浪費(fèi)時(shí)間。
使用Python的pikepdf模塊,即可對(duì)文件進(jìn)行加密,寫(xiě)一個(gè)循環(huán)就能進(jìn)行批量加密文檔。
# PDF加密
import pikepdf
pdf = pikepdf.open("test.pdf")
pdf.save('encrypt.pdf', encryption=pikepdf.Encryption(owner="your_password", user="your_password", R=4))
pdf.close()有加密那么便會(huì)有解密,代碼如下。
# PDF解密
import pikepdf
pdf = pikepdf.open("encrypt.pdf", password='your_password')
pdf.save("decrypt.pdf")
pdf.close()3、獲取電腦的配置信息
很多小伙伴可能會(huì)使用魯大師來(lái)看自己的電腦配置,這樣還需要下載一個(gè)軟件。
使用Python的WMI模塊,便可以輕松查看你的電腦信息。
# 獲取計(jì)算機(jī)信息
import wmi
def System_spec():
Pc = wmi.WMI()
os_info = Pc.Win32_OperatingSystem()[0]
processor = Pc.Win32_Processor()[0]
Gpu = Pc.Win32_VideoController()[0]
os_name = os_info.Name.encode('utf-8').split(b'|')[0]
ram = float(os_info.TotalVisibleMemorySize) / 1048576
print(f'操作系統(tǒng): {os_name}')
print(f'CPU: {processor.Name}')
print(f'內(nèi)存: {ram} GB')
print(f'顯卡: {Gpu.Name}')
print("\n計(jì)算機(jī)信息如上 ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑")
System_spec()就以小F自己的電腦為例,運(yùn)行代碼就能看到配置。

4、解壓文件
使用zipfile模塊進(jìn)行文件解壓,同理也可以對(duì)文件進(jìn)行壓縮。
# 解壓文件
from zipfile import ZipFile
unzip = ZipFile("file.zip", "r")
unzip.extractall("output Folder")5、Excel工作表合并
幫助你將Excel工作表合并到一張表上,表內(nèi)容如下圖。

6張表,其余表的內(nèi)容和第一張表都一樣。
設(shè)置表格數(shù)量為5,將會(huì)合并前5張表的內(nèi)容。
import pandas as pd
# 文件名
filename = "test.xlsx"
# 表格數(shù)量
T_sheets = 5
df = []
for i in range(1, T_sheets+1):
sheet_data = pd.read_excel(filename, sheet_name=i, header=None)
df.append(sheet_data)
# 合并表格
output = "merged.xlsx"
df = pd.concat(df)
df.to_excel(output)結(jié)果如下。

6、將圖像轉(zhuǎn)換為素描圖
和之前的圖片格式轉(zhuǎn)換有點(diǎn)類(lèi)似,就是對(duì)圖像進(jìn)行處理。
以前大家可能會(huì)使用到美圖秀秀,現(xiàn)在可能就是抖音的濾鏡了。
其實(shí)使用Python的OpenCV,就能夠快速實(shí)現(xiàn)很多你想要的效果。
# 圖像轉(zhuǎn)換
import cv2
# 讀取圖片
img = cv2.imread("img.jpg")
# 灰度
grey = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
invert = cv2.bitwise_not(grey)
# 高斯濾波
blur_img = cv2.GaussianBlur(invert, (7, 7), 0)
inverse_blur = cv2.bitwise_not(blur_img)
sketch_img = cv2.divide(grey, inverse_blur, scale=256.0)
# 保存
cv2.imwrite('sketch.jpg', sketch_img)
cv2.waitKey(0)
cv2.destroyAllWindows()7、獲取CPU溫度
有了這個(gè)Python腳本,你將不需要任何軟件來(lái)了解CPU的溫度。
# 獲取CPU溫度
from time import sleep
from pyspectator.processor import Cpu
cpu = Cpu(monitoring_latency=1)
with cpu:
while True:
print(f'Temp: {cpu.temperature} °C')
sleep(2)8、提取PDF表格
有的時(shí)候,我們需要從PDF中提取表格數(shù)據(jù)。
第一時(shí)間你可能會(huì)先想到手工整理,但是當(dāng)工作量特別大,手工可能就比較費(fèi)勁。
然后你可能會(huì)想到一些軟件和網(wǎng)絡(luò)工具來(lái)提取 PDF 表格。
下面這個(gè)簡(jiǎn)單的腳本將幫助你在一秒鐘內(nèi)完成相同的操作。
# 方法①
import camelot
tables = camelot.read_pdf("tables.pdf")
print(tables)
tables.export("extracted.csv", f="csv", compress=True)
# 方法②, 需要安裝Java8
import tabula
tabula.read_pdf("tables.pdf", pages="all")
tabula.convert_into("table.pdf", "output.csv", output_format="csv", pages="all")PDF文檔的內(nèi)容如下,包含了一個(gè)表格。

提取到的CSV文件內(nèi)容如下。

9、截圖
該腳本將簡(jiǎn)單地截取屏幕截圖,而無(wú)需使用任何屏幕截圖軟件。
在下面的代碼中,給大家展示了兩種Python截取屏幕截圖的方法。
# 方法①from mss import msswith mss() as screenshot: screenshot.shot(output='scr.png')# 方法②import PIL.ImageGrabscr = PIL.ImageGrab.grab()scr.save("scr.png")# 方法①
from mss import mss
with mss() as screenshot:
screenshot.shot(output='scr.png')
# 方法②
import PIL.ImageGrab
scr = PIL.ImageGrab.grab()
scr.save("scr.png")10、拼寫(xiě)檢查器
這個(gè)Python腳本可以進(jìn)行拼寫(xiě)檢查,當(dāng)然只對(duì)英文有效,畢竟中文博大精深吶。
# 拼寫(xiě)檢查
# 方法①
import textblob
text = "mussage"
print("original text: " + str(text))
checked = textblob.TextBlob(text)
print("corrected text: " + str(checked.correct()))
# 方法②
import autocorrect
spell = autocorrect.Speller(lang='en')
# 以英語(yǔ)為例
print(spell('cmputr'))
print(spell('watr'))
print(spell('survice'))到此這篇關(guān)于盤(pán)點(diǎn)十個(gè)超級(jí)好用的高級(jí)Python腳本的文章就介紹到這了,更多相關(guān)高級(jí)Python腳本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python scikit-learn 做線(xiàn)性回歸的示例代碼
本篇文章主要介紹了Python scikit-learn 做線(xiàn)性回歸的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
python中import cv2遇到的錯(cuò)誤及安裝方式
這篇文章主要介紹了python中import cv2遇到的錯(cuò)誤及安裝方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
python csv實(shí)時(shí)一條一條插入且表頭不重復(fù)問(wèn)題
這篇文章主要介紹了python csv實(shí)時(shí)一條一條插入且表頭不重復(fù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
Python技巧匿名函數(shù)、回調(diào)函數(shù)和高階函數(shù)
本文分享的是Python技巧匿名函數(shù)、回調(diào)函數(shù)和高階函數(shù),我們?cè)赑ython中使用lambda表達(dá)式來(lái)使用匿名函數(shù),回調(diào)函數(shù)即callback,先寫(xiě)一個(gè)函數(shù),讓預(yù)先寫(xiě)好的系統(tǒng)來(lái)調(diào)用,一個(gè)函數(shù)可以作為參數(shù)傳給另外一個(gè)函數(shù),或者一個(gè)函數(shù)的返回值為另外一個(gè)函數(shù),滿(mǎn)足其一則為高階函數(shù)2021-12-12
django下創(chuàng)建多個(gè)app并設(shè)置urls方法
在本篇文章里小編給大家分享的是一篇關(guān)于django下創(chuàng)建多個(gè)app并設(shè)置urls方法,需要的朋友們可以參考學(xué)習(xí)下。2020-08-08
python實(shí)現(xiàn)的系統(tǒng)實(shí)用log類(lèi)實(shí)例
python學(xué)習(xí)筆記之列表(list)與元組(tuple)詳解

