Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何通过主文件夹从多个子文件夹中获取文件?_Python_Python 2.7_Directory - Fatal编程技术网

Python 如何通过主文件夹从多个子文件夹中获取文件?

Python 如何通过主文件夹从多个子文件夹中获取文件?,python,python-2.7,directory,Python,Python 2.7,Directory,如果我有一个主文件夹和许多子文件夹,并且我的目标文件位于这些子文件夹中。如何正确设置路径,然后程序可以通过我的主文件夹直接获取这些目标文件 比如说, Main_folder >sub_1 >>sub_1_v1 >>>targeted_file.txt # file I need >>sub_2_v2 >>>targeted_file.txt # file I need >sub_2 >>sub_1_v1 &g

如果我有一个主文件夹和许多子文件夹,并且我的目标文件位于这些子文件夹中。如何正确设置路径,然后程序可以通过我的主文件夹直接获取这些目标文件

比如说,

Main_folder
>sub_1
>>sub_1_v1
>>>targeted_file.txt  # file I need
>>sub_2_v2
>>>targeted_file.txt  # file I need
>sub_2
>>sub_1_v1
>>>targeted_file.txt  # file I need
>>sub_2_v2
>>>targeted_file.txt  # file I need
下面是由Julien Spronck()创建的程序

我的问题是,如何正确地给出路径(从主文件夹),然后一次抓取所有目标文件


谢谢。

要遍历文件夹,然后是文件,请使用:

import os                                                                                                             

def list_files(dir):                                                                                                  
    r = []                                                                                                            
    subdirs = [x[0] for x in os.walk(dir)]                                                                            
    for subdir in subdirs:                                                                                            
        files = os.walk(subdir).next()[2]                                                                             
        if (len(files) > 0):                                                                                          
            for file in files:                                                                                        
                r.append(subdir + "/" + file)                                                                         
    return r     
如图所示:

import os                                                                                                             

def list_files(dir):                                                                                                  
    r = []                                                                                                            
    subdirs = [x[0] for x in os.walk(dir)]                                                                            
    for subdir in subdirs:                                                                                            
        files = os.walk(subdir).next()[2]                                                                             
        if (len(files) > 0):                                                                                          
            for file in files:                                                                                        
                r.append(subdir + "/" + file)                                                                         
    return r