Python获取指定目录下所有子目录、所有文件名(嵌套目录下所有文件路径) |
您所在的位置:网站首页 › python检索文件名 › Python获取指定目录下所有子目录、所有文件名(嵌套目录下所有文件路径) |
需求
给出指定目录,通过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 |