程序遍历python中的目录结构

时间:2014-02-14 02:35:16

标签: python scripting operating-system

我需要创建一个程序,在其中我已经获得了一个目录路径,在该目录中可以有n个树类型的目录结构,并且在任何目录中都可以有任意数量的.py文件。有些文件被执行了一些dnt。所以我需要在python中创建一个脚本,它只运行那些迄今为止尚未执行的文件。有人可以建议一下。

2 个答案:

答案 0 :(得分:0)

请查看os.walk()

import os

directory = '/tmp'
for (dirpath, dirnames, filenames) in os.walk(directory):
    # Do something with dirpath, dirnames, and filenames.
    pass

答案 1 :(得分:0)

通常的方法是使用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的返回值,因此我使用_将其省略。

关于你正在执行的文件的问题 - 我不明白。请解释一下。