gpt4 book ai didi

python - 使用 "open"打开 PIL 图像时文件名为空字符串

转载 作者:行者123 更新时间:2023-12-01 06:43:34 24 4
gpt4 key购买 nike

我命名了文件夹中的所有文件,但当我运行代码时,它只返回任何内容作为文件的文件名属性

if __name__ == '__main__':
print("Your Program Here")
images = glob.glob("uncropped/*.jpg")
for image in images:
with open(image, 'rb') as file:
img = Image.open(file)
print(img.filename)
print("open")
input()

此代码不返回任何内容作为文件名。我该怎么办?

最佳答案

问题是您自己使用内置的 open() 打开图像文件并将其传递给 Image.open()。坦率地说,我同意documentation对于这种情况有点含糊 - 我认为真正的文件是一个“类似文件的对象”。

无论如何,如果您让 PIL 打开该文件,它就可以工作:

import glob
from PIL import Image

folder = "*.jpg"

if __name__ == '__main__':
print("Your Program Here")
images = glob.glob(folder)
for image in images:
img = Image.open(image)
print(img.filename)
print("open")

如果出于某种原因您确实需要该属性,解决方法是自己添加它:

if __name__ == '__main__':
print("Your Program Here")
images = glob.glob(folder)
for image in images:
with open(image, 'rb') as file:
img = Image.open(image)
img.filename = image # Manually add attribute.
print(img.filename)
print("open")

关于python - 使用 "open"打开 PIL 图像时文件名为空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59344593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com