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

您所在的位置:网站首页 python检索文件名 Python获取指定目录下所有子目录、所有文件名(嵌套目录下所有文件路径)

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

2024-06-13 23:01| 来源: 网络整理| 查看: 265

需求

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

实现 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') 结果

主要用到 os 模块

 升级版

数据目录结构如下:

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

实现

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

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

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3