TypeError: cannot unpack non-iterable int object查找指定文件夹下指定文件类型的数量

在尝试统计指定文件夹中特定类型文件的数量时,遇到TypeError: cannot unpack non-iterable int object错误。解决方法是检查代码中是否存在函数返回值与接收值数量不匹配的情况,例如在第14行将j,k=0改为j,k=0,0,确保赋值操作的两边元素数量相等。" 102636878,8089184,WSL使用CLion配置CMake错误解决,"['CLion', 'WSL', 'CMake', '开发环境', '错误调试']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想统计一下指定文件夹下,指定文件类型的数量,出现了这个错误:TypeError: cannot unpack non-iterable int object(见下图)

找了一下是因为第14行出错,将  j,k=0  改为  j,k=0,0就可以了。解释:报错的原因是函数返回值的数量不一致,查看函数返回值数量和调用函数时接收返回值的数量是不是一致,修改一致即可。

import os

# 查询符合条件的文件
f = open(r'D:\ProfessionalProfile\VectorRelevant\GDEMV2_30m_shandong\pathDEM.txt','w')
j,k=0,0
def file(root, ext):
    for i in os.listdir(root):  # os.listdir(root) 读取root目录下的文件和目录

        # os.path.splitext()将文件名和扩展名分开
        ext = os.path.splitext('/' + root + '/' + i)  # os.path.splitext()读取文件扩展名

        if ext[1]:  # 有扩展名时 为文件
            global j
            if i.count(ex) > 0:  # 包含特定字符
                pathDEM = root + r'\\' + i
                f.write(pathDEM + '\n')
                # print(pathDEM)  # 输出
                j += 1


        else:
            global k
            if i.count(ex) > 0:  # 包含特定字符
                pathDEM2 = root + r'\\' + i
                # print( pathDEM2)  # 输出
                k += 1
            root1 = root + '/' + i  # 拼接目录

            file(root1, ext)  # 递归调用

    print('文件数量为:', j)
    # print('文件夹数量为:', k)




root = os.getcwd()  # 生成目录 root
# 包含的特定字符
ex = 'dem'
# 调用函数
file('D:\ProfessionalProfile\VectorRelevant\GDEMV2_30m_shandong','.tif')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值