微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python Giving拍摄的屏幕快照名称取决于i

如何解决Python Giving拍摄的屏幕快照名称取决于i

我想拍摄一个确定区域的屏幕快照,并根据循环中的i保存图像,然后滚动并继续。当滚动工作时,我最终在每个文件夹上只有1个保存的图像,而我每个文件夹应该有5个。帮助吗?

import time
import pyautogui
import sys


i = 10
while i >=6:
    pyautogui.moveto(54,662)
    pyautogui.dragTo(578,662,3,button='left')
    pyautogui.mouseUp(button='left')
    im = pyautogui.screenshot(region=(54,398,524,528))
    im.save(r"c:\users\yagci\desktop\istanbul\0\(10-i).png")
    i -=1
    time.sleep(1)
    if i==5:
        pyautogui.moveto(316,916)
        pyautogui.dragTo(3316,button='left')
        pyautogui.mouseUp(button='left')
        i-=1

        while 0<=i <5:
            pyautogui.moveto(578,662)
            pyautogui.dragTo(54,button='left')
            pyautogui.mouseUp(button='left')
            im = pyautogui.screenshot(region=(54,528))
            im.save(r"c:\users\yagci\desktop\istanbul\1\i.png")
            i -=1
            time.sleep(1)


解决方法

您的行

im.save(r"c:\users\yagci\desktop\istanbul\1\i.png")

应该像

im.save(f"c:\users\yagci\desktop\istanbul\1\{i}.png")

有关字符串模板的用法。使用r可以创建一个对您没有帮助的原始字符串。否则使用

im.save("c:\users\yagci\desktop\istanbul\1\" + str(i) + ".png")

对您来说可能更易读

,

一个问题肯定是路径字符串中的“ i”没有转换为它的值。

@richiek答案的替代方法是使用:

im.save(r"c:\users\yagci\desktop\istanbul\0\(10-{}).png".format(i))

im.save(r"c:\users\yagci\desktop\istanbul\1\{}.png".format(i))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。