zoukankan      html  css  js  c++  java
  • 三级目录和计算目录下的文件的大小

    三级目录,输入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:s20day16
    # D:s20day16day16

    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(r'D:s14算法')
    print(size)
  • 相关阅读:
    C#中yield return用法分析
    SQL表连接查询(inner join(join)、full join、left join、right join、cross join)
    SQL Server 数据类型转换函数
    linq查询结果指定列的两种方式
    html2cavans
    ORM
    Node.js Web 模块
    Node.js GET/POST请求
    Node.js 文件系统
    装逼利器函数注释
  • 原文地址:https://www.cnblogs.com/mk-lovefreedom/p/10601663.html
Copyright © 2011-2022 走看看