实用Python脚本精选
2025-03-11大家好,我是小妖,很高兴在这里与大家分享实用的Python自动化脚本。无论你是编程新手还是经验丰富的开发者,这些脚本都能为你提供帮助,提升你的工作效率。让我们一起开启高效编程之旅吧!
超级干货,第一时间送达!
PDF 转图片
这个小型自动化脚本可以方便地将整个PDF页面转换为图像。脚本使用了PyMuPDF模块,该模块以强大的PDF文本提取功能著称。
# PDF to Images
# pip install PyMuPDF
import fitz
def pdf_to_images(pdf_file):
doc = fitz.open(pdf_file)
for page in doc:
pix = page.get_pixmap()
output = f"page{page.number}.png"
pix.writePNG(output)
pdf_to_images("test.pdf")
获取 API 数据
需要从数据库中获取API数据或向服务器发送请求?这个自动化脚本可以帮助你。通过Urllib3模块,你可以轻松获取和发布API请求。
# pip install urllib3
import urllib3
# Fetch API data
url = "https://api.github.com/users/psf/repos"
http = urllib3.PoolManager()
response = http.request('GET', url)
print(response.status)
print(response.data.decode('utf-8'))
# Post API data
url = "https://httpbin.org/post"
http = urllib3.PoolManager()
response = http.request('POST', url, fields={"hello": "world"})
print(response.status)
电池指示灯
这个方便的脚本可以让你设置电池百分比阈值来接收通知。脚本使用了Psutil模块来获取电池状态,并利用Plyer模块发送通知。
# Battery Notifier
# pip install plyer
from plyer import notification
import psutil
from time import sleep
while True:
battery = psutil.sensors_battery()
life = battery.percent
if life < 50:
notification.notify(
title="Battery Low",
message="Please connect to power source",
timeout=10
)
sleep(60)
语法固定器
如果你厌倦了手动校对长篇文章或文本,可以尝试这个自动化脚本。它会扫描你的文本并纠正语法错误。该脚本使用了HappyTransformer模块,这是一个经过训练的机器学习模块,用于修复文本中的语法错误。
# Grammer Fixer
# pip install happytransformer
from happytransformer import HappyTextToText as HappyTTT
from happytransformer import TTSettings
def Grammer_Fixer(text):
grammer = HappyTTT("T5", "prithivida/grammar_error_correcter_v1")
config = TTSettings(do_sample=True, top_k=10, max_length=100)
corrected = grammer.generate_text(text, args=config)
print("Corrected Text: ", corrected.text)
text = "This is smple tet we how know this"
Grammer_Fixer(text)
拼写修正
这个脚本能够帮你纠正文本中的单词拼写错误。它不仅可以修复单个单词,还能处理整段文字。
# Spell Fixer
# pip install textblob
from textblob import *
# Fixing Paragraph Spells
def fix_paragraph_words(paragraph):
sentence = TextBlob(paragraph)
correction = sentence.correct()
print(correction)
# Fixing Words Spells
def fix_word_spell(word):
word = Word(word)
correction = word.correct()
print(correction)
fix_paragraph_words("This is sammple tet!!")
fix_word_spell("maangoo")
互联网下载器
你可能会使用下载软件从互联网上下载照片或视频,现在你可以使用Python IDM模块创建自己的下载器。
# Python Downloader
# pip install internetdownloadmanager
import internetdownloadmanager as idm
def Downloader(url, output):
pydownloader = idm.Downloader(worker=20,
part_size=1024*1024*10,
resumable=True,)
pydownloader.download(url, output)
Downloader("Link url", "image.jpg")
Downloader("Link url", "video.mp4")
获取世界新闻
这个自动化脚本让你随时了解每日世界新闻。你可以使用任何语言从任何国家获取新闻。该API每天免费提供50篇新闻文章。
# World News Fetcher
# pip install requests
import requests
apiKey = "YOUR_API_KEY"
url = f"https://api.worldnewsapi.com/search-news?text=hurricane&api-key={apiKey}"
headers = {
'Accept': 'application/json'
}
response = requests.get(url, headers=headers)
print("News: ", response.json())
PySide2 GUI
这个自动化脚本将帮助你使用PySide2模块创建GUI应用程序。它包含了创建现代应用所需的各种组件。
# PySide 2
# pip install PySide2
from PySide6.QtWidgets import *
from PySide6.QtGui import *
import sys
app = QApplication(sys.argv)
window = QWidget()
# Resize the Window
window.resize(500, 500)
# Set the Window Title
window.setWindowTitle("PySide2 Window")
# Add Buttons
button = QPushButton("Click Me", window)
button.move(200, 200)
# Add Label Text
label = QLabel("Hello Medium", window)
label.move(200, 150)
# Add Input Box
input_box = QLineEdit(window)
input_box.move(200, 250)
print(input_box.text())
# Add Radio Buttons
radio_button = QRadioButton("Radio Button", window)
radio_button.move(200, 300)
# Add Checkbox
checkbox = QCheckBox("Checkbox", window)
checkbox.move(200, 350)
# Add Slider
slider = QSlider(window)
slider.move(200, 400)
# Add Progress Bar
progress_bar = QProgressBar(window)
progress_bar.move(200, 450)
# Add Image
image = QLabel(window)
image.setPixmap(QPixmap("image.png"))
# Add Message Box
msg = QMessageBox(window)
msg.setText("Message Box")
msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
window.show()
sys.exit(app.exec())
希望得到大家的支持和关注,感谢大家!