首页 > 其他分享 >文件目录结构生成器

文件目录结构生成器

时间:2024-07-27 17:07:46浏览次数:12  
标签:文件目录 Users 生成器 Desktop 文件夹 damon path 结构

★ 代码

import os

# 查询的路径
search_path = r'C:\Users\damon\Desktop\目录生成器'


# 返回目录结构{"name": "目录生成器", "child": [{"name": "目录生成器", "child": []}]}
def get_files(root_path):
    # 将路径处理为标准格式
    file_content = {'name': os.path.basename(root_path), 'path': root_path, 'child': []}

    # 遍历路径下的所有文件和文件夹
    for file_or_dir in os.listdir(root_path):
        # 拼接完整路径
        path = os.path.join(root_path, file_or_dir)

        # 如果是文件直接添加到列表
        if os.path.isfile(path):
            file_content['child'].append({'name': os.path.basename(path), 'path': path, 'child': []})
        # 如果是文件夹递归调用函数获取文件列表
        else:
            file_content['child'].append(get_files(path))

    return file_content


def print_file_directory(file_content):
    child_directorys = file_content['child']
    file_or_dir_text = '文件夹' if len(child_directorys) > 0 else '文件'
    child_name_list = [directory['name'] for directory in child_directorys]
    print(f"""
    {file_or_dir_text}名: {file_content['name']}
    {file_or_dir_text}路径: {file_content['path']}
    {'子文件或子文件夹: ' + str(child_name_list) if len(child_directorys) > 0 else ''}
    """, end='')

    for directory in child_directorys:
        print_file_directory(directory)


file_directory = get_files(search_path)
print_file_directory(file_directory)

★ 运行结果

文件夹名: 目录生成器
文件夹路径: C:\Users\damon\Desktop\目录生成器
子文件或子文件夹: ['.idea', 'Apifox-Agent-Chrome', 'assets', 'content_generator.py', 'logo.png', 'store']
    
文件夹名: .idea
文件夹路径: C:\Users\damon\Desktop\目录生成器\.idea
子文件或子文件夹: ['workspace.xml']
    
文件名: workspace.xml
文件路径: C:\Users\damon\Desktop\目录生成器\.idea\workspace.xml

    
文件夹名: Apifox-Agent-Chrome
文件夹路径: C:\Users\damon\Desktop\目录生成器\Apifox-Agent-Chrome
子文件或子文件夹: ['adapter.js', 'background.js', 'logo-128.png', 'logo-96.png', 'manifest.json', 'runtime.js']
    
文件名: adapter.js
文件路径: C:\Users\damon\Desktop\目录生成器\Apifox-Agent-Chrome\adapter.js

    
文件名: background.js
文件路径: C:\Users\damon\Desktop\目录生成器\Apifox-Agent-Chrome\background.js

    
文件名: logo-128.png
文件路径: C:\Users\damon\Desktop\目录生成器\Apifox-Agent-Chrome\logo-128.png

    
文件名: logo-96.png
文件路径: C:\Users\damon\Desktop\目录生成器\Apifox-Agent-Chrome\logo-96.png

    
文件名: manifest.json
文件路径: C:\Users\damon\Desktop\目录生成器\Apifox-Agent-Chrome\manifest.json

    
文件名: runtime.js
文件路径: C:\Users\damon\Desktop\目录生成器\Apifox-Agent-Chrome\runtime.js

    
文件夹名: assets
文件夹路径: C:\Users\damon\Desktop\目录生成器\assets
子文件或子文件夹: ['logo.png']
    
文件名: logo.png
文件路径: C:\Users\damon\Desktop\目录生成器\assets\logo.png

    
文件名: content_generator.py
文件路径: C:\Users\damon\Desktop\目录生成器\content_generator.py

    
文件名: logo.png
文件路径: C:\Users\damon\Desktop\目录生成器\logo.png

    
文件夹名: store
文件夹路径: C:\Users\damon\Desktop\目录生成器\store
子文件或子文件夹: ['index.js', 'modules']
    
文件名: index.js
文件路径: C:\Users\damon\Desktop\目录生成器\store\index.js

    
文件夹名: modules
文件夹路径: C:\Users\damon\Desktop\目录生成器\store\modules
子文件或子文件夹: ['setting.js', 'user.js']
    
文件名: setting.js
文件路径: C:\Users\damon\Desktop\目录生成器\store\modules\setting.js

    
文件名: user.js
文件路径: C:\Users\damon\Desktop\目录生成器\store\modules\user.js

    
Process finished with exit code 0

标签:文件目录,Users,生成器,Desktop,文件夹,damon,path,结构
From: https://www.cnblogs.com/cs-songbai/p/18327163

相关文章

  • 2001-2022年上市公司企业资本结构动态调整数据集(含原始数据、计算代码、参考文献及最
    企业资本结构动态调整数据:优化财务杠杆与治理结构的关键指标企业资本结构动态调整是企业根据市场环境和自身发展需求,对债务和股权资本比例进行的有意识调整。这种调整有助于企业提高治理效率、增强市场竞争力,同时降低风险,确保长期稳定发展。资本结构动态调整的目的适应市场......
  • 数据结构(顺序表)
     ......
  • 【数据结构】二叉树
    目录二叉树特殊二叉树二叉树的性质二叉树的模拟实现存储结构接口实现内部类遍历前序遍历中序遍历后序遍历遍历确定二叉树层序遍历获取节点个数获取叶子节点的个数获取第K层节点的个数获取二叉树的高度检测值为value的元素是否存在判断一棵树是不是完全二叉树练习链接......
  • 计算机组成与体系结构-校验码
    奇偶校验码奇偶校验是一种简单有效的校验方法,这种方法通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),只能发现奇数个数据位出错的情况.循环冗余校验码CRC(CyclicRedundancyCheck)循环冗余校验是一种常用的错误检测技术,用于在数据传输过程中......
  • 计算机组成与体系结构-浮点数表示
    定点数:是一种在计算机中表示和处理实数的方法,其中,小数点的位置是固定的,不会随着数值的大小而变化。浮点数:是计算机中用于表示实数的一种数据类型。小数点位置浮动浮点数表示阶码(指数部分):决定了浮点数可以表示的范围。阶码越长,可以表示的指数范围就越大尾数(有效数......
  • 计算机组成与体系结构-I/O数据传输
    I/O设备与主机数据传输早期计算机的I/O种类比较少,与主存交换信息都是通过CPU,而现代计算机的I/O种类较多,如果使用这种方式会使CPU的效率大大降低,如果想要提高资源利用率,那么我们就必须引入一些机制,来让整个机器工作效率变高程序查询方式由CPU通过程序不断查询1/0设备是否已做好......
  • 计算机组成与体系结构-cache
    概念Cache,高速缓冲存储器。是解决CPU与主存之间速度不匹配而采用的一项重要技术,位于主存与CPU之间,由静态存储芯片(SRAM)组成,容量比较小,Cache存储了频繁访问的内存数据命中率CPU欲访问的信息已在Cache中的比率,设在一段程序执行期间cache完成存取次数为NC,主存完成存取次数为m,h定......
  • 计算机组成与体系结构-层次化存储体系
    将数据分为多个层次进行存储,以最优的控制调度算法和合理的成本,构成具有性能可接受的存储系统.解决两个矛盾采用层次化存储体系,可以通过平衡存储介质的速度和成本得到最佳的存储效用。解决了主存容量不足与高成本的矛盾、CPU与主存速度不匹配的矛盾存储器分类RAM,随机存取存......
  • 数据结构基础第7讲
    数据结构基础第7讲查找考点一:查找的基本概念1.概念静态查找动态查找分类2.查找性能计算平均查找长度:考点二:顺序查找1.顺序查找2.优劣考点三:折半查找(二分搜索)1.概念2.过程3.构建为判定树构建向上取整:左少右多向右偏向下取整:左多右少......
  • 数据结构基础第8讲
    数据结构基础第8讲排序考点一:排序的概念和性能分析1.排序的概念稳定性根据相对位置是否改变判断内排序2.排序的性能考点二:插入类排序1.直接插入排序\(复杂度O(n^2)\)3.折半插入排序改进了比较次数未改变移动次数,因此复杂度仍为\(O(n^2)\)3.希尔排序时......