这里有一些很棒的自动化脚本,你可以在你的 Python 项目中使用它们。在做项目的时候,我们需要一些现成的代码来帮助我们解决日常生活中的问题。本文为你的 Python 项目提供了4个自动化脚本,可以解决这些问题。

公众号:玩转大数据

文章目录

  • ​​照片压缩器​​
  • ​​图片水印​​
  • ​​抄袭检查器​​
  • ​​文件加解密​​

照片压缩器

这会将您的照片压缩成较小的尺寸,而j尽量的保证质量相同。

from PIL import Image
from tkinter.filedialog import *
fl=askopenfilenames() # 打开文件夹
img = Image.open(fl[0])
img.save("result.jpg", "JPEG", optimize = True, quality = 100)

图片水印

这个简单的脚本将为任何图像添加水印。你可以设置文本、位置和字体。

from PIL import Image
from PIL import ImageDraw, ImageFont


def watermark_img(img_path, res_path, text, pos):
font = ImageFont.truetype("简启体.TTF", 20)
img = Image.open(img_path)
wm = ImageDraw.Draw(img)
wm.text(pos, text, align='center', font=font, fill='red')
img.show()
img.save(res_path)


img = '4.png'
watermark_img(img, 'result2.jpg', '川川菜鸟', pos=(5, 5))

如下:

Python 中的 4 个非常好用的自动化脚本_图片水印

抄袭检查器

此脚本检查两个文件之间的抄袭。首先我创建一个word文件如下:


第二个文件如下,我只改变的数字:


脚本如下:

from difflib import SequenceMatcher

f1 = input("输入文件一的路径: ")
f2 = input("输入文件二的路径: ")

def plagiarism_checker(f1, f2):
with open(f1, errors="ignore") as file1, open(f2, errors="ignore") as file2:
f1_data = file1.read()
f2_data = file2.read()
res = SequenceMatcher(None, f1_data, f2_data).ratio()
print("两个文件相似度为:",res)

plagiarism_checker(f1, f2)

测试结果:

Python 中的 4 个非常好用的自动化脚本_python_02

文件加解密

一个可以加密/解密任何文件的小脚本。先编写解密和加密函数。

from cryptography.fernet import Fernet
import re
# 加密
def encrypt(f_name, key):
fernet = Fernet(key)

with open(f_name, 'rb') as file:
original = file.read()

encrypted = fernet.encrypt(original)

with open(f_name, 'wb') as enc_file:
enc_file.write(encrypted)

# 解密
def decrypt(f_name, key):
fernet = Fernet(key)

with open(f_name, 'rb') as enc_file:
encrypted = enc_file.read()

decrypted = fernet.decrypt(encrypted)
with open(f_name, 'wb') as dec_file:
dec_file.write(decrypted)

执行加密函数:

# 加密部分  每次密码都是不同,所以保存起来,免得解密失败
key = Fernet.generate_key()
with open('加密的密码.txt', 'w') as f:
f.write(str(key))
f.close()
f_name = input("Enter Your filename: ")
encrypt(f_name, key) # 执行加密

首先我执行加密函数,对1.docx加密,我再去打开它是一片空白:

Python 中的 4 个非常好用的自动化脚本_图片水印_03


打开保存的密码如下:

b'b3LaZZPrLeQFtN8JYUfz3n_uWntQ0x0zH0i5-9hzBLU='

执行解密:

f_name2 =input("Enter Your filename: ")
key2=open('加密的密码.txt').read()
secret = re.findall(r'[\'](.*?)[\']',key2)[0] # 通过正则匹配出密码内容
decrypt(f_name2, secret ) # 执行解密

执行后就能再打开了。