|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
问题:对于代码大部分能看懂,并注释。但是对于代码的整个实现过程,还是不清楚。
特别是:
type_dict['文件夹'] += 1 实现了什么效果
ext = os.path.splitext(each_file)[1] 中的[1]实现了什么效果
type_dict[ext] += 1 实现了什么效果
习题:
0、编写一个程序,统计当前目录下每个文件类型的文件数,程序实现如图:
代码:
import os
all_file = 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) #从字典中返回键对应的值‘文件夹’,如果不存在‘文件夹’用0代替
type_dict['文件夹'] += 1
else:
ext = os.path.splitext(each_file)[1] #变量ext,分离文件名与扩展名
type_dict.setdefault(ext, 0) #从字典中返回键对应的值‘ext’如果不存在‘ext’用0代替
type_dict[ext] += 1
for each_type in type_dict.keys():
print('该文件夹下共有类型为【%s】的文件 %d个' % (each_type, type_dict[each_type]))
本帖最后由 thexiosi 于 2018-4-23 09:18 编辑
hi
1. type_dict['文件夹'] += 1 实现了什么效果 #属于字典基础知识,代码中的意思是:若each_file是文件夹,字典中进行对应的计数+1,示例如下
>>> type_dict
{'abc': 0}
>>> type_dict['abc']+=1
>>> type_dict
{'abc': 1}
2.ext = os.path.splitext(each_file)[1] 中的[1]实现了什么效果 #分离文件名和扩展名,示例如下
>>> tmp = os.path.splitext('D:/hi.txt')[0]
>>> print(tmp)
D:/hi
>>> tmp = os.path.splitext('D:/hi.txt')[1]
>>> print(tmp)
.txt
3.type_dict[ext] += 1 实现了什么效果 #同问题1
需要慢慢理解和融会贯通,这些课后题开始用到很多之前的知识了 :)
|
|