【发布时间】:2022-01-24 03:01:42
【问题描述】:
我正在编写获取不同图像并覆盖它们的代码。我在网上得到了这段代码,我正在尝试将其更改为我想做的工作,但是当我运行它时,我得到了这个:
发生异常:AttributeError “str”对象没有“粘贴”属性
我是 python 新手,所以我很难弄清楚这有什么问题。任何帮助将不胜感激。
import random
import os
from PIL import Image
#overlaying
background.paste(jacket, (0,0), mask = jacket)
background.show()
background变码:
background_path = r"C:/Users/cspea/Desktop/background/"
background = random.choice([
x for x in os.listdir(background_path)
if os.path.isfile(os.path.join(background_path,x))
])
jacket变码:
jacket_path = r"C:/Users/cspea/Desktop/jackets/"
jacket = random.choice([
x for x in os.listdir(jacket_path)
if os.path.isfile(os.path.join(jacket_path,x))
])
出于安全考虑,我只粘贴了需要帮助的部分代码。上面代码中的所有变量都可以正常工作。当我在没有上面代码的情况下运行程序时,它可以完美运行。
【问题讨论】:
-
你在哪里定义
background? -
@PedroMaia 刚刚用信息更新了问题
-
background和jacket只是包含路径名的字符串。您需要将这些文件加载到 PILImages 中才能对它们进行任何操作。