2013-05-08 376 views
1

我在尝试从Windows下的Sikuli保存屏幕截图时遇到权限错误。那在做捕获的代码是:IO错误:[Errno 13]权限被拒绝

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是我试图赋予图像的新名称。

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

回答

3

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

尝试第二行变成:

resultsDirectory = os.path.join('C:','08 May 2013 11 34','myname.png') 
           ^
+0

谢谢。我纠正了错误,现在正在工作。 – Loganswamy 2013-05-08 04:26:27

+0

@Loganswamy您可以点击Anthon答案旁边的复选框将其标记为正确的解决方案。 – 2013-05-08 17:45:20

相关问题