WedenWang 2020-12-15 17:59 采纳率: 66.7%
浏览 436
已采纳

python如何遍历一个文件夹下的所有文件,并将文件夹下的文件名和大小用json或者dic表示?

网络上的教程都是直接输出文件名,能不能汇总到一个dic或者json里面呢?

  • 写回答

2条回答 默认 最新

  • 后端工匠之道 2020-12-16 10:18
    关注

    一、####编写一个程序,统计当前目录下每个文件类型的文件数

    ####思路:

    - 打开当前的文件夹

    - 获取到当前文件夹下面所有的文件

    - 处理我们当前的文件夹下面可能有文件夹的情况(也打印出来)

    - 做出统计

    -------------------------------------

    import os

    #获取到当前文件夹下面所有的文件
    all_files = os.listdir(os.curdir) #os.curdir 表示当前目录 curdir:currentdirectory

    type_dict = dict()

    for each_file in all_files:
        # 如果说我们的each_file是文件夹
        if os.path.isdir(each_file):
            type_dict.setdefault("文件夹", 0)
            type_dict["文件夹"] += 1
        else:
            # 如果不是文件夹,而是文件,统计我们的文件
            ext = os.path.splitext(each_file)[1] #获取到文件的后缀
            type_dict.setdefault(ext, 0)
            type_dict[ext] += 1
           
    for each_type in type_dict:
        print("该文件夹下面有类型为{}的文件{}个".format(each_type, type_dict[each_type]))

    --------------------------------

    二、

    # 编写一个程序,计算当前文件夹下面所有文件的大小
    - 打开当前的文件夹
    - 获取到所有的文件, 和文件大小
    - 保存我们获取到的数据,然后打印出来

    --------------------------------------

    import os

    all_files = os.listdir(os.curdir)

    file_dict = dict()

    for each_file in all_files:
        # 判断我们的这个each_file是否是文件
        if os.path.isfile(each_file):
            file_size = os.path.getsize(each_file)
            file_dict[each_file] = file_size

    for each in file_dict.items():
        print("{}大小{}".format(each[0], each[1]))

    你自己定义变量存储一下大小和名称

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测