2015-12-08 58 views
0

获取的文件,我需要从一个数据集这样的结构,建立了一些文件的数组:从多个文件夹使用Python

  1. FolderA:

    • FolderA1:
    • FolderA2:
      • File01.txt
  2. FolderB中:

    • FolderB1:
    • FolderB2:
      • File01.txt

比方说,我需要文件夹A,B,D和F中的File01.txt。我如何获取这些文件?

+0

您是否尝试过使用'glob'? –

+0

不知道这是你在找什么,但看看'os.walk':“通过从上到下或从下到上的方式来生成目录树中的文件名。树根目录顶部(包括顶部本身),它产生一个3元组('dirpath,dirnames,文件名)'。“ – Riccati

回答

0

可以使用glob模块:

import glob 

base_dir = '.' 
folders = ('A', 'B', 'D', 'F') 
pattern = '{}/[{}]/*/File01.txt'.format(base_dir, ''.join(folders)) 
for filename in glob.glob(pattern): 
    print(filename) 

的创建glob模式./[ABDF]/*/File01.txt。如果脚本包含在你的榜样的最高级别文件夹的目录执行的,它会输出:

 
./A/A2/File01.txt 
./B/B2/File01.txt 

您也可以使用相对路径和绝对路径;根据需要更改base_dir。然后你可以从任何地方执行脚本。

相关问题