Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.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_Scripting_Operating System - Fatal编程技术网

python中遍历目录结构的程序

python中遍历目录结构的程序,python,scripting,operating-system,Python,Scripting,Operating System,我需要创建一个程序,在这个程序中,我已经得到了一个目录路径,在这个目录中可以有n个树型目录结构,在任何目录中都可以有任意数量的.py文件。执行的一些文件是一些dnt。所以我需要用python创建一个脚本,它只运行那些到现在还没有执行的文件。有人能给我指路吗。请看一下os.walk() 通常的方法是使用os.walk并使用os.path.join组合完整的路径: import os import os.path def find_all_files(directory): for roo

我需要创建一个程序,在这个程序中,我已经得到了一个目录路径,在这个目录中可以有n个树型目录结构,在任何目录中都可以有任意数量的.py文件。执行的一些文件是一些dnt。所以我需要用python创建一个脚本,它只运行那些到现在还没有执行的文件。有人能给我指路吗。

请看一下
os.walk()


通常的方法是使用
os.walk
并使用
os.path.join
组合完整的路径:

import os
import os.path

def find_all_files(directory):
    for root, _, filenames in os.walk(directory):
        for filename in filenames:
            fullpath = os.path.join(root, filename)
            yield fullpath

if __name__ == '__main__':
    for fullpath in find_all_files('/tmp'):
        print(fullpath)
根据我的经验,
dirnames
很少使用
os.walk
的返回值,因此我在
中省略了它

至于你关于文件是否被执行的问题,我不明白。请解释一下

import os
import os.path

def find_all_files(directory):
    for root, _, filenames in os.walk(directory):
        for filename in filenames:
            fullpath = os.path.join(root, filename)
            yield fullpath

if __name__ == '__main__':
    for fullpath in find_all_files('/tmp'):
        print(fullpath)