10个有趣的Python高级脚本,建议收藏!

共 5001字,需浏览 11分钟

 ·

2022-04-20 19:59



在日常的工作中,我们总会面临到各式各样的问题。


其中不少的问题,使用一些简单的Python代码就能解决。


比如不久前的复旦大佬,用130行Python代码硬核搞定核酸统计,大大提升了效率,节省了不少时间。


今天,小F就带大家学习一下10个Python脚本程序。


虽然简单,不过还是蛮有用的。


有兴趣的可以自己去实现,找到对自己有帮助的技巧。



▍1、Jpg转Png


图片格式转换,以前小F可能第一时间想到的是【格式工厂】这个软件。


如今编写一个Python脚本就能完成各种图片格式的转换此处以jpg转成png为例。


有两种解决方法,都分享给大家。


# 图片格式转换, Jpg转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个或更多的PDF文件需要加密,手动进行加密肯定是不可行的,极其浪费时间。


使用Python的pikepdf模块,即可对文件进行加密,写一个循环就能进行批量加密文档。


# 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()


有加密那么便会有解密,代码如下。


# PDF解密
import pikepdf

pdf = pikepdf.open("encrypt.pdf",  password='your_password')
pdf.save("decrypt.pdf")
pdf.close()



▍3、获取电脑的配置信息


很多小伙伴可能会使用鲁大师来看自己的电脑配置,这样还需要下载一个软件。


使用Python的WMI模块,便可以轻松查看你的电脑信息。


# 获取计算机信息
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'操作系统: {os_name}')
    print(f'CPU: {processor.Name}')
    print(f'内存: {ram} GB')
    print(f'显卡: {Gpu.Name}')

    print("\n计算机信息如上 ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑")


System_spec()


就以小F自己的电脑为例,运行代码就能看到配置。




▍4、解压文件


使用zipfile模块进行文件解压,可以对文件进行压缩


# 解压文件
from zipfile import ZipFile

unzip = ZipFile("file.zip""r")
unzip.extractall("output Folder")



▍5、Excel工作表合并


帮助你将Excel工作表合并到一张表上,表内容如下图。



6张表,其余表的内容和第一张表都一样。


设置表格数量为5,将会合并前5张表的内容。


import pandas as pd

# 文件名
filename = "test.xlsx"
# 表格数量
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)


结果如下。




▍6、将图像转换为素描图


和之前的图片格式转换有点类似,就是对图像进行处理。


以前大家可能会使用到美图秀秀,现在可能就是抖音的滤镜了。


其实使用Python的OpenCV,就能够快速实现很多你想要的效果。


# 图像转换
import cv2

# 读取图片
img = cv2.imread("img.jpg")
# 灰度
grey = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
invert = cv2.bitwise_not(grey)
# 高斯滤波
blur_img = cv2.GaussianBlur(invert, (77), 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温度


有了这个Python脚本,你将不需要任何软件来了解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表格


有的时候,我们需要从PDF中提取表格数据。


第一时间你可能会先想到手工整理,但是当工作量特别大,手工可能就比较费劲。


然后你可能会想到一些件和网络工具来提取 PDF 表格。


下面这个简单的脚本将帮助你在一秒钟内完成相同的操作。


# 方法①
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文档的内容如下,包含了一个表格。



提取到的CSV文件内容如下。




▍9、截图


该脚本将简单地截取屏幕截图,而无需使用任何屏幕截图软件。


在下面的代码中,给大家展示了两种Python截取屏幕截图的方法。


# 方法①
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、拼写检查器


这个Python脚本可以进行拼写检查,当然只对英文有效,毕竟中文博大精深呐。


# 拼写检查
# 方法①
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')

# 以英语为例
print(spell('cmputr'))
print(spell('watr'))
print(spell('survice'))


往期推荐
1、Python五种实用的小技巧
2、多个Python项目怎么调用我自己的工具函数?
3、用了HTTPS,没想到还是被监控了!
4、四大游戏编程网站,边玩边学Python!
5、几行代码,实现Python捕获、播放和保存摄像头视频!

点击关注公众号,阅读更多精彩内容

浏览 28
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报