0

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

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

2 回答 2

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))
于 2013-05-31T03:48:58.487 回答
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('.')
于 2013-05-31T05:37:34.143 回答