使用pyautogui可轻松实现跨平台截图保存,支持全屏或指定区域,配合Pillow处理图像,注意系统权限与环境依赖问题。

Python截图并保存可以通过几个常用库实现,最常见的是使用 Pillow(PIL)配合 pyautogui 或操作系统自带的截图功能。下面介绍几种简单有效的方法。
1. 使用 pyautogui 截图保存
pyautogui 是一个跨平台的 GUI 自动化库,支持直接截取全屏或指定区域,并保存为图片文件。
安装方法:
【极品模板】出品的一款功能强大、安全性高、调用简单、扩展灵活的响应式多语言企业网站管理系统。 产品主要功能如下: 01、支持多语言扩展(独立内容表,可一键复制中文版数据) 02、支持一键修改后台路径; 03、杜绝常见弱口令,内置多种参数过滤、有效防范常见XSS; 04、支持文件分片上传功能,实现大文件轻松上传; 05、支持一键获取微信公众号文章(保存文章的图片到本地服务器); 06、支持一键
pip install pyautogui
立即学习“Python免费学习笔记(深入)”;
示例代码:
import pyautogui
# 截取全屏并保存
screenshot = pyautogui.screenshot()
screenshot.save('screenshot.png') # 保存为 PNG 文件
# 截取指定区域 (x, y, width, height)
region_screenshot = pyautogui.screenshot(region=(100, 100, 300, 200))
region_screenshot.save('region_screenshot.jpg') # 保存为 JPG 文件
2. 使用 Pillow 的 ImageGrab(仅限 Windows)
如果你在 Windows 系统上,可以直接用 Pillow 的 ImageGrab 模块截屏。
安装方法:
pip install pillow
示例代码:
from PIL import ImageGrab
# 截取整个屏幕
img = ImageGrab.grab()
img.save('full_screen.png')
如果要截取特定区域,可以传入 bbox 参数:
img = ImageGrab.grab(bbox=(100, 100, 500, 400)) # (左, 上, 右, 下)
img.save('cropped_screenshot.png')
3. 跨平台兼容建议
如果需要在 Windows、macOS 和 Linux 上都运行,推荐使用 pyautogui,它底层会自动调用合适的系统工具。
注意点:
- 某些环境(如无图形界面的服务器)无法截图。
- Linux 上可能需要额外安装依赖,比如 scrot 或 xwd。
- 截图时确保程序有权限访问屏幕内容(特别是 macOS 需要隐私权限)。
基本上就这些。用 pyautogui 最省心,几行代码就能完成截图保存。不复杂但容易忽略权限和环境问题。









