所以我有一个简短的 python 脚本,它接受表示图像的 base64 字符串,然后打开该图像的预览。
这是我的脚本:
#!/usr/local/bin/python3
from PIL import Image
import sys
import base64
IMAGE_NAME = "temp.png"
def do_some_stuff(args):
if len(args) != 2:
return
with open(IMAGE_NAME, "wb") as image_file:
image_file.write(base64.decodebytes(args[1].encode('ascii')))
image = Image.open(IMAGE_NAME)
image.show()
if __name__ == '__main__':
do_some_stuff(sys.argv)
它似乎工作正常,除了当它有时间显示图像时,我遇到了这个错误:
FSPathMakeRef(/Applications/Preview.app) failed with error -43.
有谁知道为什么会发生此错误或如何修复它?
进一步挖掘后,似乎这个错误来自FSPathMakeRef
意味着没有找到该文件。所以我查看了我的应用程序文件夹,预览就在那里!
当我点击“获取信息”时,我注意到它位于/System/Applications/
文件夹而不是在/Applications
,所以 PIL 似乎引用了错误的位置。
我的猜测是该应用程序已移至 Catalina,而 PIL 只是尚未更新。
不管怎样,为了解决这个问题,我只是做了一个符号链接,其中 PIL 看起来像这样:
ln -s /System/Applications/Preview.app /Applications/Preview.app
它就像一个魅力!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)