python中遍历目录结构的程序

2024-05-16 07:09:49 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: 文件py路径程序目录脚本数量树形
2条回答

通常的方法是使用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很少使用,所以我用_省略了它。你知道吗

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

请看一下os.walk()。你知道吗

import os

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

相关问题 更多 >