首页 > 其他 > 详细

三级目录和计算目录下的文件的大小

时间:2019-03-26 17:57:57      阅读:160      评论:0      收藏:0      [点我收藏+]

三级目录,输入b返回上一层,输入q退出程序

技术分享图片
menu = {
    北京: {
        海淀: {
            五道口: {
                soho: {},
                网易: {},
                google: {}
            },
            中关村: {
                爱奇艺: {},
                汽车之家: {},
                youku: {},
            },
            上地: {
                百度: {},
            },
        },
        昌平: {
            沙河: {
                老男孩: {},
                北航: {},
            },
            天通苑: {},
            回龙观: {},
        },
        朝阳: {},
        东城: {},
    },
    上海: {
        闵行: {
            "人民广场": {
                炸鸡店: {}
            }
        },
        闸北: {
            火车战: {
                携程: {}
            }
        },
        浦东: {},
    },
    山东: {},
}
 l = [menu]   # 将字典菜单添加到列表或者那个
 while l:
     for k in l[-1]:    # 每次都读列表的最后一个元素
         print(k)        # 输出最有一个元素的值
     key = input(>>>)
     if key.upper() == B:  # 如果输入的数字是b就返回上一层
         l.pop()        # 删除列表中最后一个元素
     elif key.upper() == Q:   # 退出
         l.clear()
     elif l[-1].get(key):    #  如果获取到的内容不是空
         l.append(l[-1][key]) # 就将选择的内容的键对应的值追加到列表中
View Code

 


# 计算文件夹大小的例子
# D:\s20\
# D:\s20\day16
# D:\s20\day16\day16

 

 

import os
def get_size(path):
    size = 0   # 定义一个变量用来存储文件的大小
    l = [path]   # 将庐江添加到列表中
    while l:
        path = l.pop() # 删除列表中的最后一个元素,并接受返回值
        lst = os.listdir(path)    # 查看接受逇返回值的目录下的所有文件
        for name in lst:        # 遍历这个目录下的素有文件
            son_path = os.path.join(path,name)  # 路径拼接,将路径和文件名进行拼接
            if os.path.isfile(son_path):        # 如果这个文件不是目录,
                size += os.path.getsize(son_path) # 计算这个文件的大小
            else:
                l.append(son_path)            # 如果是目录,就将这个路径添加到列表中,用来进入这个目录中
    return size                # 返回这个目录中的文件的大小
    
size = get_size(rD:\s14\算法)
print(size)

 

三级目录和计算目录下的文件的大小

原文:https://www.cnblogs.com/mk-lovefreedom/p/10601663.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!