import os def Test1(rootDir): list_dirs = os.walk(rootDir) for root, dirs, files in list_dirs: for d in dirs: print os.path.join(root, d) for f in files: print os.path.join(root, f)
要么:
import os def Test2(rootDir): for lists in os.listdir(rootDir): path = os.path.join(rootDir, lists) print path if os.path.isdir(path): Test2(path)
对于测试文件树:
E:TEST │--A │ │--A-A │ │ │--A-A-A.txt │ │--A-B.txt │ │--A-C │ │ │--A-B-A.txt │ │--A-D.txt │--B.txt │--C │ │--C-A.txt │ │--C-B.txt │--D.txt │--E
运行以下代码:
Test1('E:TEST') print '=======================================' Test2('E:TEST')您可以看到结果之间存在差异:
>>> E:TESTA E:TESTC E:TESTE E:TESTB.txt E:TESTD.txt E:TESTAA-A E:TESTAA-C E:TESTAA-B.txt E:TESTAA-D.txt E:TESTAA-AA-A-A.txt E:TESTAA-CA-B-A.txt E:TESTCC-A.txt E:TESTCC-B.txt ======================================= E:TESTA E:TESTAA-A E:TESTAA-AA-A-A.txt E:TESTAA-B.txt E:TESTAA-C E:TESTAA-CA-B-A.txt E:TESTAA-D.txt E:TESTB.txt E:TESTC E:TESTCC-A.txt E:TESTCC-B.txt E:TESTD.txt E:TESTE >>>
要将它们保存在列表中:
import os files = []def Test1(rootDir): files.append(rootDir) list_dirs = os.walk(rootDir) for root, dirs, files in list_dirs: for d in dirs: files.append(os.path.join(root, d)) for f in files: files.append(os.path.join(root, f))import os files = [rootDir]def Test2(rootDir): for lists in os.listdir(rootDir): path = os.path.join(rootDir, lists) files.append(path) if os.path.isdir(path): Test2(path)



