1

在 Windows 下尝试从 Sikuli 保存屏幕截图时出现权限错误。进行捕获的代码是:

def CaptureScreenshot(self):
    resultsDirectory = os.path.join('C','08 May 2013 11 34','myname.png')
    screenshot = capture(self.screen)
    print(screenshot)
    shutil.move(screenshot,self.resultsDirectory)

当我打印返回的屏幕截图路径时capture,我得到

D:\DOCUME~1\BUNNINGS\LOCALS~1\Temp\sikuli-scr-366782306192033926.png

当我运行代码时,我收到此错误:

Traceback (most recent call last):
  File "__pyclasspath__/Tests/Tests.py", line 12, in tearDown
  File "__pyclasspath__/Scripts/Screen.py", line 39, in CaptureScreenshot
  File "C:\jython2.5.3\Lib\shutil.py", line 205, in move
    copy2(src,dst)
  File "C:\jython2.5.3\Lib\shutil.py", line 96, in copy2
    copyfile(src, dst)
  File "C:\jython2.5.3\Lib\shutil.py", line 52, in copyfile
    fdst = open(dst, 'wb')
IOError: [Errno 13] Permission denied: 'C\\08 May 2013 11 34\\myname.png'

目标文件夹存在,并且myname.png是我尝试为图像提供的新名称。

我注意到目标文件夹的属性设置为“只读”。这是造成问题的原因吗?我无法更改只读属性;当我尝试时,它只是回到只读状态。

4

1 回答 1

3

C在您的路径中似乎缺少一个冒号。您现在正尝试在当前目录的子目录“C”中写入。

尝试将第二行更改为:

resultsDirectory = os.path.join('C:','08 May 2013 11 34','myname.png')
                                  ^
于 2013-05-08T04:05:20.637 回答