Python获取指定目录下所有子目录、所有文件名(嵌套目录下所有文件路径)

1|0需求

给出指定目录,通过Python获取指定目录下的所有子目录,所有(子目录下)文件名:

2|0实现

import os def file_name(file_dir): for root, dirs, files in os.walk(file_dir): print('root_dir:', root) # 当前目录路径 print('sub_dirs:', dirs) # 当前路径下所有子目录 print('files:', files) # 当前路径下所有非目录子文件 file_name('D:\stock_data')

3|0结果

主要用到 os 模块

4|0 升级版

数据目录结构如下:

codes ├── 20200102 │   ├── A │   │   ├── A2001.csv │   │   ├── A2003.csv │   │   ├── A2005.csv │   │   ├── A2007.csv │   │   ├── A2009.csv │   │   └── A2011.csv │   ├── AL │   │   ├── AL2001.csv │   │   ├── AL2002.csv │   │   ├── AL2003.csv │   │   ├── AL2004.csv │   │   ├── AL2005.csv │   │   ├── AL2006.csv │   │   ├── AL2010.csv │   │   ├── AL2011.csv │   │   └── AL2012.csv │   └── B │   ├── B2001.csv │   ├── B2002.csv │   ├── B2003.csv │   ├── B2004.csv │   └── B2005.csv └── 20200103 ├── A │   ├── A2001.csv │   ├── A2003.csv │   ├── A2005.csv │   ├── A2007.csv │   ├── A2009.csv │   └── A2011.csv ├── AL │   ├── AL2001.csv │   ├── AL2002.csv │   ├── AL2003.csv │   ├── AL2004.csv │   ├── AL2009.csv │   ├── AL2010.csv │   ├── AL2011.csv │   └── AL2012.csv └── B ├── B2001.csv ├── B2002.csv ├── B2003.csv ├── B2004.csv └── B2005.csv

现有上述嵌套目录结构,需要获取最深层文件的路径:code/20200101/A/A2001.csv

4|1实现

 如果直接用os的话也是可以实现,但是感觉比较麻烦,这里使用 pathlib 库来处理:

from pathlib import Path for p in Path('codes/').iterdir(): for s in p.rglob('*.csv'): # yield s print(s) # 这样就可以获取到所有嵌套文件的路径

 


__EOF__

本文作者BigTree
本文链接https://www.cnblogs.com/bigtreei/p/9316369.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   ZhuGaochao  阅读(64173)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示