美文网首页
2019实战第二期-文件实战打卡

2019实战第二期-文件实战打卡

作者: tipire | 来源:发表于2019-03-20 23:41 被阅读0次

问题

假如我们有一个目录里面包含若干个文件和子目录:
问题1:我们要统计该目录下有多少个文件并显示出来(包含子目录)
问题2:该目录总共的大小可以按M,也可以按K显示
问题3:该目录下最大的文件和最小的文件,以及对应的大小
目录为你的python,环境目录:
比如我的目录是:D:\ProgramData\Anaconda3

代码

# -*- coding : utf-8 -*-
# 假如我们有一个目录里面包含若干个文件和子目录:
# 问题1:我们要统计该目录下有多少个文件并显示出来(包含子目录)
# 问题2:该目录总共的大小可以按M,也可以按K显示
# 问题3:该目录下最大的文件和最小的文件,以及对应的大小
import os

path = 'D:\\ProgramData\\Anaconda3'

folders = []
files_info = []
for root, dirs, files in os.walk(path):
    folders.extend(dirs)
    for f in files:
        f_path = os.path.join(root, f)
        f_size = round(os.path.getsize(f_path), 3)
        files_info.append((f, f_size, f_path))

file_name = [item[2] for item in files_info] + folders
for i in file_name:
    print(i)

small_file = sorted(files_info, key=lambda x: x[1], reverse=False)[0][2]
small_file_size = sorted(files_info, key=lambda x: x[1], reverse=False)[0][1]
largest_file = sorted(files_info, key=lambda x: x[1], reverse=True)[0][2]
largest_file_size = sorted(files_info, key=lambda x: x[1], reverse=True)[0][1]

print('Total size:{}'.format(sum(item[1] for item in files_info)))
print('small file name:{}:size:{}'.format(small_file, str(round(small_file_size / 1024)) + 'K'))
print('Largest file name:{}:size:{}'.format(largest_file, str(round(largest_file_size / 1024 / 1024)) + 'M'))

相关文章

  • 2019实战第二期-文件格式读书打卡

    2019实战第二期-文件格式读书打卡 读《Python编程快速上手—让繁琐工作自动化 PDF中文高清晰完整版》笔记...

  • 2019实战第二期-文件实战打卡

    问题 假如我们有一个目录里面包含若干个文件和子目录:问题1:我们要统计该目录下有多少个文件并显示出来(包含子目录)...

  • 2019实战第二期-异常实战打卡

    2019实战第二期-异常实战打卡 题目:编写一个迷你的计算器,支持两个数加,减,乘,除要求提示用户输入2个数字和一...

  • 2019实战第二期-异常读书打卡

    -----学习《Python基础教程第3版》读书笔记----- 2019实战第二期-异常读书打卡 异常是什么 使用...

  • 20180708(日)

    做智慧父母,育卓越孩子。祥和父母学院21天打卡实战营第二期《高效沟通》打卡D4天 悦实战,悦成长 今天早上雷阵雨,...

  • 2019实战第二期-时间读书打卡

    2019实战第二期-时间读书打卡 --读《Python编程快速上手—让繁琐工作自动化》 Python里面的并发分2...

  • 20180706(五)

    做智慧父母,育卓越孩子。祥和父母学院21天打卡实战营第二期《高效沟通》打卡D2天 悦实战,悦成长 冯老师高效沟通的...

  • 20180705(四)

    做智慧父母,育卓越孩子。祥和父母学院21天打卡实战营第二期《高效沟通》打卡D1天 悦实战,悦成长 冯老师高效沟通的...

  • 20180707(六)(补)

    做智慧父母,育卓越孩子。祥和父母学院21天打卡实战营第二期《高效沟通》打卡D3天 悦实战,悦成长 今天阅读了一位同...

  • 2019实战第二期-文件格式实战打卡

    题目:1.拿到平安银行一年的股票数据 csv文件2.里面一共244个交易日,我们读取csv文件,然后找到成交量(a...

网友评论

      本文标题:2019实战第二期-文件实战打卡

      本文链接:https://www.haomeiwen.com/subject/jytfvqtx.html