13 个实用的 Python 高级脚本示例
在日常开发中,我们经常面临需要编写辅助工具来解决重复性任务或进行系统测试的挑战。简单的 Python 基础语法往往不足以应对这些场景。本文将分享 13 个实用的高级 Python 脚本,涵盖网络测试、网页自动化、图像处理及系统信息查询等领域。这些脚本可作为你项目中的便捷工具库。
13 个 Python 实用脚本,涵盖网速测试、网络搜索、网页自动化、歌词获取、图片处理、系统信息查询等功能。通过具体代码示例和依赖说明,帮助开发者快速实现常见任务。内容包括使用 speedtest 测速、selenium 控制浏览器、Pillow 处理图片元数据、OpenCV 卡通化处理、PyMuPDF 转换 PDF 以及 requests 检测网站状态等。每个脚本均提供了前置依赖安装命令和注意事项,强调安全性与合规性,适合作为日常开发的辅助工具库参考。

在日常开发中,我们经常面临需要编写辅助工具来解决重复性任务或进行系统测试的挑战。简单的 Python 基础语法往往不足以应对这些场景。本文将分享 13 个实用的高级 Python 脚本,涵盖网络测试、网页自动化、图像处理及系统信息查询等领域。这些脚本可作为你项目中的便捷工具库。
在使用以下脚本前,请确保已安装 Python 环境(建议 3.6+),并根据每个脚本的依赖说明安装相应的第三方库。
此脚本利用 speedtest-cli 模块测试当前网络的下载和上传速度。它可以帮助你快速诊断网络状况。
前置依赖:
pip install speedtest-cli
代码示例:
import speedtest
# 初始化 Speedtest 对象
speedTest = speedtest.Speedtest()
# 获取最佳服务器
print("Best Server:", speedTest.get_best_server())
# 检查下载速度 (单位:Mbps)
download_speed = speedTest.download()
print(f"Download Speed: {download_speed / 1024 / 1024:.2f} Mbps")
# 检查上传速度 (单位:Mbps)
upload_speed = speedTest.upload()
print(f"Upload Speed: {upload_speed / 1024 / 1024:.2f} Mbps")
该脚本演示如何从 Google 搜索引擎中提取重定向后的 URL。适用于批量查找特定关键词对应的链接。
前置依赖:
pip install googlesearch-python
代码示例:
from googlesearch import search
query = "Python 教程"
for url in search(query, num_results=5):
print(url)
*注意:Google 对爬虫有限制,频繁调用可能导致 IP 被封禁,请合理使用。
该脚本使用 Selenium 自动化控制浏览器,可模拟用户操作任何网站。常用于表单提交、数据抓取或自动化测试。
前置依赖:
pip install selenium
# 需额外下载 chromedriver.exe 并配置路径
代码示例:
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# 初始化 Chrome 驱动
options = webdriver.ChromeOptions()
options.add_argument('--headless') # 无头模式,不显示浏览器窗口
bot = webdriver.Chrome(options=options)
try:
bot.get('https://www.google.com')
# 查找搜索框
search_box = bot.find_element_by_name('q')
search_box.send_keys('Automation Test')
search_box.send_keys(Keys.RETURN)
time.sleep(3) # 等待页面加载
# 这里可以添加更多操作,如截图
# bot.save_screenshot('result.png')
finally:
bot.quit()
通过 LyricsGenius API 获取指定歌手的歌曲歌词。需先注册账号获取免费 API Key。
前置依赖:
pip install lyricsgenius
代码示例:
import lyricsgenius
# 替换为你的真实 API Key
api_key = "YOUR_API_KEY_HERE"
genius = lyricsgenius.Genius(api_key)
# 搜索歌手并限制返回数量
artist = genius.search_artist("Pop Smoke", max_songs=5, sort="title")
# 获取特定歌曲
song = artist.song("100k On a Coupe")
if song:
print(song.lyrics)
else:
print("Song not found.")
Exif 信息包含拍摄时间、相机型号、GPS 位置等元数据。本脚本提供两种方法提取图片元数据。
前置依赖:
pip install pillow
pip install exifread
代码示例:
from PIL import Image
import PIL.ExifTags
import exifread
filename = "Img.jpg"
# Method 1: Using Pillow
img = Image.open(filename)
exif_data = {
PIL.ExifTags.TAGS[i]: j
for i, j in img._getexif().items()
if i in PIL.ExifTags.TAGS
}
print("Pillow Exif Data:", exif_data)
# Method 2: Using ExifRead
with open(filename, 'rb') as f:
tags = exifread.process_file(f)
print("ExifRead Tags:", dict(tags))
OCR(光学字符识别)用于从扫描文档或图片中识别文字。适合处理手写数据或扫描件。
前置依赖:
pip install pytesseract
pip install Pillow
代码示例:
import pytesseract
from PIL import Image
# 设置 Tesseract 路径 (Windows 示例)
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
image_path = "img.png"
t = Image.open(image_path)
# 识别文本
text = pytesseract.image_to_string(t, lang='chi_sim+eng')
print(text)
利用 OpenCV 的边缘检测和颜色量化技术,将普通照片转换为类似卡通的效果。
前置依赖:
pip install opencv-python
代码示例:
import cv2
img = cv2.imread('img.jpg')
grayimg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
grayimg = cv2.medianBlur(grayimg, 5)
# 边缘检测
edges = cv2.Laplacian(grayimg, cv2.CV_8U, ksize=5)
r, mask = cv2.threshold(edges, 100, 255, cv2.THRESH_BINARY_INV)
# 结合原图与掩码
img2 = cv2.bitwise_and(img, img, mask=mask)
img2 = cv2.medianBlur(img2, 5)
cv2.imwrite("cartooned.jpg", img2)
print("Cartoon effect saved.")
此脚本仅适用于 Windows 系统,用于程序化清空回收站内容。
前置依赖:
pip install winshell
代码示例:
import winshell
try:
# confirm=False 跳过确认弹窗
winshell.recycle_bin().empty(confirm=False, show_progress=False, sound=True)
print("Recycle bin emptied successfully.")
except Exception as e:
print(f"Error: {e}")
使用 Pillow 库调整照片的色彩、对比度、亮度和锐度,提升视觉效果。
前置依赖:
pip install pillow
代码示例:
from PIL import Image, ImageEnhance
im = Image.open('img.jpg')
# 创建增强器实例
en_color = ImageEnhance.Color(im)
en_contrast = ImageEnhance.Contrast(im)
en_brightness = ImageEnhance.Brightness(im)
en_sharpness = ImageEnhance.Sharpness(im)
# 应用增强效果 (系数 > 1 为增强)
en_color.enhance(1.5).save("enhanced_color.jpg")
en_contrast.enhance(1.5).save("enhanced_contrast.jpg")
en_brightness.enhance(1.5).save("enhanced_brightness.jpg")
en_sharpness.enhance(1.5).save("enhanced_sharpness.jpg")
查询当前操作系统的具体版本号,适用于系统兼容性检测。
前置依赖:
pip install wmi
代码示例:
import wmi
data = wmi.WMI()
for os_info in data.Win32_OperatingSystem():
print(f"OS Name: {os_info.Caption}")
print(f"Version: {os_info.Version}")
print(f"BuildNumber: {os_info.BuildNumber}")
将 PDF 文档的每一页保存为独立的 PNG 图片,便于后续处理或归档。
前置依赖:
pip install PyMuPDF
代码示例:
import fitz # PyMuPDF
pdf_path = 'sample_pdf.pdf'
doc = fitz.open(pdf_path)
for page_num, page in enumerate(doc):
pix = page.get_pixmap(alpha=False)
output_filename = f'page-{page_num}.png'
pix.save(output_filename)
print(f"Converted page {page_num + 1} to {output_filename}")
doc.close()
将 Web 常用的十六进制颜色代码转换为 RGB 元组,方便图形编程使用。
代码示例:
def Hex_to_Rgb(hex_code):
h = hex_code.lstrip('#')
return tuple(int(h[i:i+2], 16) for i in (0, 2, 4))
print(Hex_to_Rgb('#c96d9d')) # Output: (201, 109, 157)
print(Hex_to_Rgb('#fa0515')) # Output: (250, 5, 21)
通过 HTTP 请求判断目标网站是否在线,返回状态码 200 表示正常,其他表示异常。
前置依赖:
pip install requests
代码示例:
import requests
url = "https://example.com"
try:
r = requests.get(url, timeout=5)
status_code = r.status_code
if status_code == 200:
print(f"Website is up ({status_code}).")
else:
print(f"Website returned status code: {status_code}")
except requests.exceptions.RequestException as e:
print(f"Failed to connect: {e}")
以上 13 个脚本展示了 Python 在自动化、数据处理和系统管理方面的强大能力。在实际使用中,请注意以下几点:
希望这些脚本能为你的开发工作提供便利。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online