灵魂溢出 发表于 2020-10-25 09:18:38

os.path.isdir在非本py文件存在的文件夹下出错问题

本帖最后由 灵魂溢出 于 2020-10-25 09:32 编辑

import os
a = input("输入文件夹:")
all_files =os.listdir(a)
type_dict = dict()

for each_file in all_files:
    if os.path.isdir(each_file):
      type_dict.setdefault('文件夹', 0)
      type_dict['文件夹'] += 1
    else:
      ext = os.path.splitext(each_file)
      type_dict.setdefault(ext, 0)
      type_dict += 1

for each_type in type_dict.keys():
    print('该文件夹下共有类型为【%s】的文件 %d 个' % (each_type, type_dict))

我将小甲鱼给的统计文件夹文件数量的代码改了一下
原来是这样的all_files = os.listdir(os.curdir) # 使用os.curdir表示当前目录更标准,去统计其他文件夹的文件数量,发现os.path.isdi在判断其他文件夹内文件是否为目录时出错了,将其判断为其他形式,这是为什么,如果是判断该代码所保存的文件夹就不会出错,这是为什么



\\\\
原因是os.path.isdir给的只是文件名,不是给路径
if os.path.isdir(each_file)改为 if os.path.isdir(a+"\\"+each_file)即可

灵魂溢出 发表于 2020-10-25 09:21:58

有大佬解决了,不用了,谢谢看到这条消息的人,不会删帖,就只能这样了
页: [1]
查看完整版本: os.path.isdir在非本py文件存在的文件夹下出错问题