WindowsError: 在脚本中保存FreeImagePy图像时出现特权指令错误,IDLE中正常工作

1 投票
2 回答
649 浏览
提问于 2025-04-11 09:31

我正在用Python写一个程序,处理一些图片的工作。我选择使用FreeImagePy,因为PIL不支持多页的TIFF格式。当我从我的程序中尝试保存文件时,总是会出现这个错误信息(或者根据我尝试保存的方式,可能会有类似的错误):

Error returned.  TIFF FreeImage_Save: failed to open file C:/OCRtmp/ocr page0
Traceback (most recent call last):
  File "C:\Python25\Projects\OCRPageUnzipper\PageUnzipper.py", line 102, in <mod
ule> OCRBox.convertToPages("C:/OCRtmp/ocr page",FIPY.FIF_TIFF)
  File "C:\Python25\lib\site-packages\FreeImagePy\FreeImagePy\FreeImagePy.py", l
ine 2080, in convertToPages self.Save(FIF, dib, fileNameOut, flags)
  File "C:\Python25\lib\site-packages\FreeImagePy\FreeImagePy\FreeImagePy.py", l
ine 187, in Save return self.__lib.Save(typ, bitmap, fileName, flags)
WindowsError: exception: priviledged instruction

但是当我在IDLE中做同样的事情时,一切都正常。

2 个回答

0

我也是这么想的,不过我几个小时前搞明白了。原来如果我想写入的文件夹或文件不存在,FreeImagePy 并不能聪明地帮我创建它(大多数情况下是这样。创建一个新的多页图像似乎没问题)。不过我猜在 IDLE 里运行的时候,IDLE 会自己处理这些事情。为了避免这个问题,我用 os.mkdir 明确地创建了我需要的文件夹。

1

这看起来像是权限问题。确保你没有在其他应用程序中打开这个文件,并且你有权限在你想要写入的文件位置进行写入。

撰写回答