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 layui 代码问题解决
  • ¥15 TCP传输时不同网卡传输用时差异过大
  • ¥15 请各位看看我写的属于什么算法,或者有更正确的写法?
  • ¥15 html5 qrcode 扫描器
  • ¥15 爬取网页信息并保存需要完整代码
  • ¥15 一分十不等功分器阻设计问题,请问这个56Ω怎么得到的
  • ¥15 (标签-matlab)
  • ¥100 求看看这个数学建模,有偿
  • ¥15 深度学习目标检测现在框架加注意力的创新可以投几区?
  • ¥15 PdfiumViewer pdf转图片