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

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 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵