以递归方式打印文件夹及其子文件夹的路径名

时间:2013-05-31 03:35:57

标签: python recursion printing pathname

我正在尝试在文件夹中打印每个文件及其子文件夹的路径名
这是我到目前为止的代码:

def traverse(path, d):
    for item in os.listdir(path):
        item = os.path.join(path, d)
        try:
            traverse(path,d)
        except:
            print(path)

2 个答案:

答案 0 :(得分:1)

您正在寻找os.walk

你可以使用它:

def traverse(path):
    for root, dirs, files in os.walk(path):
        print(root)

        # if you want files too: 
        for f in files: 
            print(os.path.join(root, f))

答案 1 :(得分:0)

我不知道这句话的目的是什么:

item = os.path.join(path, d)

我按照理解编写代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os

def traverse(path):
    for item in os.listdir(path):
        newpath = os.path.join(path, item)
        if os.path.isdir(newpath):
            traverse(newpath)
        else:
            print newpath

if __name__ == '__main__':
    traverse('.')