如何解决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 举报,一经查实,本站将立刻删除。