最新动态

实用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())

希望得到大家的支持和关注,感谢大家!