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し、イメージに付けようとしている新しい名前です。

宛先フォルダーのプロパティが「読み取り専用」に設定されていることに気付きました。これが問題の原因ですか? readonly 属性を変更できませんでした。試してみると、読み取り専用に戻ります。

4

1 に答える 1

3

Cパスの の後にコロンがないようです。現在、現在のディレクトリのサブディレクトリ 'C' に書き込もうとしています。

2 行目を次のように変更してみてください。

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