我需要创建一个程序,在其中我已经获得了一个目录路径,在该目录中可以有n个树类型的目录结构,并且在任何目录中都可以有任意数量的.py文件。有些文件被执行了一些dnt。所以我需要在python中创建一个脚本,它只运行那些迄今为止尚未执行的文件。有人可以建议一下。
答案 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
的返回值,因此我使用_
将其省略。
关于你正在执行的文件的问题 - 我不明白。请解释一下。