【发布时间】:2011-07-31 03:04:15
【问题描述】:
我目前正在开发一个小脚本来截取屏幕截图并使用 Python 将它们上传到 imgur。
代码如下所示:
import time
import os
import ImageGrab
import urllib
import urllib2
time.sleep(1)
shot = ImageGrab.grab()
dir = os.path.join(r'C:\SAMPLE\PATH', 'Screen ' + time.strftime(r'%Y-%m-%d %H-%M-%S') + '.png')
shot.save(dir)
data = urllib.urlencode({"key":'MY_API_KEY', "image":urllib.quote(open(dir,'rb').read().encode("base64"))})
site = urllib2.Request("http://imgur.com/api/upload.json", data)
s = urllib2.urlopen(site)
print s.read()
我收到了来自 imgur 的回复,但是当我打开链接时,我得到一个空白图像(尽管它的分辨率是正确的)。我认为base64编码方法可能已经关闭但我很茫然。
【问题讨论】:
-
您确定屏幕截图已保存到您已阅读的文件中吗?尝试使用硬编码名称的另一张图片。
-
@agf 是的,文件 is 在那里,我尝试使用硬编码路径指向另一个图像,但无济于事。不过还是谢谢。