You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为pyautogui截取的屏幕截图设置动态递增文件名

问题根源

你使用的${变量}语法是其他编程语言的模板字符串写法,Python原生不支持该语法,同时混用原始字符串标识符r与反引号包裹路径的写法也是错误的。此外你的原有代码缺少截图计数自增逻辑,会导致编号一直停留在1。

解决代码

直接修改为Python支持的f-string格式化方案即可,Python 3.6及以上版本都支持该写法:

import pyautogui
import time

ImgCount = 1

while 1:
    img = pyautogui.screenshot()
    # rf前缀同时支持原始字符串路径转义规则 和 f-string变量替换
    img.save(rf"D:\My Programs\Img{ImgCount}.png")
    print(f"SS {ImgCount} saved")
    ImgCount += 1 # 计数自增,下次截图使用新编号
    time.sleep(10)

可选补充:避免程序重启后覆盖原有截图

如果希望程序重启后不会从1开始计数、覆盖之前的截图,可以在初始化计数时先读取目标文件夹下的已有截图最大编号:

import os
import re

folder_path = r"D:\My Programs"
# 初始化计数为1
ImgCount = 1
# 遍历文件夹下的文件匹配编号
if os.path.exists(folder_path):
    for filename in os.listdir(folder_path):
        match = re.match(r'Img(\d+)\.png', filename)
        if match:
            current_num = int(match.group(1))
            if current_num >= ImgCount:
                ImgCount = current_num + 1

内容的提问来源于stack exchange,提问作者Abhishek Kokate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 07:24:02