【问题标题】:Modify name of file to be saved修改要保存的文件名
【发布时间】:2017-06-24 15:39:07
【问题描述】:

我正在使用 pyautogui 截取屏幕某个区域的屏幕截图。为了查看我需要更改的脚本发生了什么,我想将每个屏幕截图保存到一个文件夹中。我的想法是抛出一个计数器并将其添加到屏幕截图名称中。

截图的正常代码是:

pyautogui.screenshot('opponent.png', region=(177, 743, 635, 135))

我希望名称为 opponent + a .png,而不是使用名称 opponent。我会在循环中使用a = a + 1 每次更改a,我只是不确定添加变量a 的正确方法。

文件名示例如下:

opponent1.png
opponent2.png
opponent3.png
opponent4.png 
...

编辑:根据问题列出了我尝试过此代码的可能重复项:

pyautogui.screenshot('opponent%d.png', region=(177, 743, 635, 135)) % won

其中 won 是一个变量,用于计算屏幕截图属于哪个对手。我得到的错误是:

TypeError: unsupported operand type(s) for %: 'Image' and 'int'

我也尝试过使用格式解决方案,使用了这行代码:

pyautogui.screenshot('opponent{0}.png', region=(177, 743, 635, 135)).format(won)

这也是通过 TypeError: 'NoneType' object is not callable

【问题讨论】:

  • @jonrsharpe 谢谢你指点我这篇文章,但我仍然不明白这到底是怎么做的?
  • 它提供了三种不同的方式来精确地做你想做的事。目前尚不清楚您仍在为什么或为什么而苦苦挣扎,但如果您真的无法弄清楚,请edit 说明您遇到的问题。

标签: python python-3.x


【解决方案1】:

讨论够了,嗯?我要提到的唯一警告是,您必须确保(以某种方式)此代码在您想要获取图片的区域之外运行。

>>> import pyautogui
>>> a = 1
>>> while True:
...     image = pyautogui.screenshot('opponent%s.png' % a, region=(177, 743, 635, 135))
...     a = a+1
...     if a > 6: 
...         break
... 

【讨论】:

    猜你喜欢
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-03
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多