You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PIL Image.split()报错:TypeError仅接受1个参数却传入2个

问题解决建议

错误原因

你代码里的M2是通过Image.open()创建的PIL Image对象,它自带的split()方法是用于分离图像颜色通道的,这个方法不需要传入任何参数。而你想调用的是字符串的split()方法来拆分文件名,应该用循环中的M1(这才是存储文件名的字符串变量)。

修正代码

把涉及split()的两行代码里的M2替换成M1即可:

if data_sum == 0:
    I1 = M1.split("_")[0]
    I2 = M1.split("_")[1].split("_cp")[0]
    I3 = I1 + '_' + I2 + imgType
    os.rename(imgInputPath + I3, imgOutputPath + I3)
    os.rename(maskInputPath + M1, maskOutputPath + M1)

额外优化建议

拼接文件路径时,建议使用os.path.join()替代直接字符串相加,这样能避免不同操作系统路径分隔符(Windows是\,Linux/macOS是/)的兼容性问题,比如:

# 替换这类写法
M2 = Image.open(maskInputPath + M1)
# 改成
M2 = Image.open(os.path.join(maskInputPath, M1))

内容的提问来源于stack exchange,提问作者msshah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 19:45:43