Python实现读取当前文件夹目录,子目录,子文件

 更新时间:2026年03月05日 09:13:52   作者:林九生  
这篇文章主要为大家详细介绍了如何使用Python的os模块遍历目录结构,将文件和子目录以树形结构写入到txt文件中,帮助程序员理解并整理复杂的文件系统,感兴趣的小伙伴可以了解下

需求

整理文件是程序员的一个好习惯,在整理文件的时候,目录和文件太多,但想知道目录结构是怎么样的,再来构思怎么整理文件。

环境

Python:3.6

代码

import os

# 目录遍历方法
def checkDir(path, folder, count):
    # 检查是否是第一级目录,不是的话在目录命名前加斜杠\
    if folder != "":
        folder = folder + '\\'
    # 遍历path目录
    for i, j, k in os.walk(path):
        # 如果该目录下存在非目录文件,则先写入
        if k != []:
            for kk in k:
                print("├{} {}{}".format("─" * count, folder, kk))
                w_file.write("├{} {}{}\n".format("─" * count, folder, kk))
                w_file.flush()
        # 如果存在子目录,则进入下一个目录遍历方法
        if j != []:
            for jj in j:
                print("├{} {}{}".format("─" * count, folder, jj))
                w_file.write("├{} {}{}\n".format("─" * count, folder, jj))
                w_file.flush()
                checkDir("{}\\{}".format(i, jj), jj, count + 1)
        break


if __name__ == '__main__':
    # 新建txt,以上一级文件夹名命名
    w_file = open('{}.txt'.format(os.getcwd().split('\\')[-1]), 'w', encoding='utf-8')
    # 获取当前路径
    filePath = os.getcwd()
    # 写入当前文件路径
    w_file.write("{}".format(filePath))
    print("{}".format(filePath))
    # ”─“计数器
    count = 0
    # 调用目录遍历方法
    checkDir(filePath, "", 0)
    # 写入文件结束标志符
    w_file.write("└ #")
    print("└ #")
    # 关闭文件
    w_file.close()

示例目录

运行结果

生成的txt:

到此这篇关于Python实现读取当前文件夹目录,子目录,子文件的文章就介绍到这了,更多相关Python读取文件目录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用pyecharts1.7进行简单的可视化大全

    使用pyecharts1.7进行简单的可视化大全

    这篇文章主要介绍了使用pyecharts1.7进行简单的可视化大全,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Python attrs提高面向对象编程效率详细

    Python attrs提高面向对象编程效率详细

    Python是面向对象的语言,一般情况下使用面向对象编程会使得开发效率更高,软件质量更好,并且代码更易于扩展,可读性和可维护性也更高,但是Python的类写起来是真的累,这是可以在创建类的时候自动添加上attrs模块,下面文章我们就来介绍这个东西,需要的朋友可参考一下
    2021-09-09
  • Python中注释(多行注释和单行注释)的用法实例

    Python中注释(多行注释和单行注释)的用法实例

    这篇文章主要给大家介绍了关于Python中注释(多行注释和单行注释)用法的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • Python+OpenCV实现实时眼动追踪的示例代码

    Python+OpenCV实现实时眼动追踪的示例代码

    这篇文章主要介绍了Python+OpenCV实现实时眼动追踪的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Python 实现OpenCV格式和PIL.Image格式互转

    Python 实现OpenCV格式和PIL.Image格式互转

    今天小编就为大家分享一篇Python 实现OpenCV格式和PIL.Image格式互转,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • python标准库学习之sys模块详解

    python标准库学习之sys模块详解

    sys模块是最常用的和python解释器交互的模块,sys模块可供访问由解释器(interpreter)使用或维护的变量和与解释器进行交互的函数,下面这篇文章主要给大家介绍了关于python标准库学习之sys模块的相关资料,需要的朋友可以参考下
    2022-08-08
  • python打印日志方法的使用教程(logging模块)

    python打印日志方法的使用教程(logging模块)

    Python标准库自带日志模块logging,logging中涉及到4个核心组件,这些组件构建了logging体系,下面这篇文章主要给大家介绍了关于python打印日志方法的使用教程,需要的朋友可以参考下
    2022-06-06
  • Python中Arrow库的时间操作技法总结

    Python中Arrow库的时间操作技法总结

    Arrow是一个功能强大、易用且具有优雅设计的Python日期时间库,它建立在Python的datetime模块之上,旨在弥补datetime模块在处理日期时间时的一些不足之处,下面我们就来了解一下Arrow库的常见时间操作吧
    2023-12-12
  • Python分割训练集和测试集的方法示例

    Python分割训练集和测试集的方法示例

    这篇文章主要介绍了Python分割训练集和测试集的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • pytorch 计算ConvTranspose1d输出特征大小方式

    pytorch 计算ConvTranspose1d输出特征大小方式

    这篇文章主要介绍了pytorch 计算ConvTranspose1d输出特征大小方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06

最新评论