长衫罩子龙 发表于 2019-7-7 18:12:43

python 一版30讲练习0

请问
import os

all_files = os.listdir(os.curdir) # 使用os.curdir表示当前目录更标准
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))

这段程序里面第8行
       type_dict.setdefault('文件夹', 0)
是什么意思啊?
还有
        ext = os.path.splitext(each_file)
这句话里面是表示什么意思?
字典不是没有顺序吗?

都淡忘 发表于 2019-7-7 18:19:54

给字典设置一个默认值,如果字典里有这一项就不设置,没有则设置这一项
os.path.splitext(path)是一个元组,第二项目是扩展名
页: [1]
查看完整版本: python 一版30讲练习0