OSError: [Errno 9] 使用 PIL 保存图像时文件描述符错误

Sho*_*bal 5 python python-imaging-library

我有趣的是 PIL 在里面写一些文本和图像,然后将其保存在同一位置。以下是我执行此操作的函数

from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw

def add_text_to_image(image_path):
    img = Image.open(image_path)
    img = img.convert('RGB')
    widht, height = img.size
    draw = ImageDraw.Draw(img)
    font = ImageFont.truetype("helvetica.ttf", 20)
    draw.text((0, 0), "Some text", (0, 0, 0), font=font)
    img.save(image_path)
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误。

回溯(最近一次调用最后一次):文件

“/usr/local/lib/python3.6/site-packages/background_task/tasks.py”,

第 43 行,在 bg_runner func(*args, **kwargs) 文件中

“/home/paksign/app/app/document/tasks.py”,第 74 行,位于

文档状态已更改为已完成

add_branding_texts_to_document_images(元)文件

“/home/paksign/app/app/document/utils.py”,第 277 行,位于

快照中的快照的 add_branding_texts_to_document_images:文件

“/home/paksign/app/app/document/utils.py”,第 270 行,位于

add_text_to_image img.save(image_path) 文件

“/usr/local/lib/python3.6/site-packages/PIL/Image.py”,第 1994 行,位于

保存 save_handler(self, fp, filename) 文件

“/usr/local/lib/python3.6/site-packages/PIL/JpegImagePlugin.py”,行

第761章 _save ImageFile._save(im, fp, [("jpeg", (0, 0)+im.size, 0,

rawmode)], bufsize) 文件

“/usr/local/lib/python3.6/site-packages/PIL/ImageFile.py”,第 519 行,

在 _save s = e.encode_to_file(fh, bufsize) 中 OSError: [Errno 9] 错误文件

描述符标记任务

document.tasks.document_status_changed_to_completed 失败

我已经尝试了互联网上的一些解决方案,但没有任何效果,我不知道我在这里做错了什么。任何帮助表示赞赏