为何循环中变量X始终为1?pyautogui截图命名无法递增问题
问题解决方法
你的问题出在x=+1这行代码——这不是让变量递增,而是每次循环都把x重新赋值为1,所以文件名永远是1.png,后续截图会直接覆盖之前的文件。
修正方案很简单:
- 把x的初始化放到循环外面,避免每次循环都重置变量
- 循环内部用
x += 1实现自增(等价于x = x + 1)
修正后的完整代码:
import pyautogui import time x = 0 # 初始值设为0,第一次循环后变为1 while True: x += 1 pic = pyautogui.screenshot() pic.save(f"{x}.png", "PNG") print(x) time.sleep(5)
这样每次循环x都会加1,生成的文件名会依次是1.png、2.png、3.png……不会重复覆盖。
内容的提问来源于stack exchange,提问作者Pavlo Mazepa
相关产品推荐
相关产品推荐

