python 文件目录遍历代码 输出不对

def listAppendlist(l1,l2):
    for x in l2:
        l1.append(x);
def mylistAllFiles(pathstr):
    pathfiles = [];
    pathfilestmp = os.listdir(pathstr);
    for x in pathfilestmp:
        pathfiles.append(os.path.abspath(x));
    print(pathfiles);
    for x in pathfiles:
        print(x);
        if os.path.isdir(x):
            listAppendlist(pathfiles,mylistAllFiles(x));
    return pathfiles;
lfiles =  mylistAllFiles('D:\pythonWorkSpace')

实际目录结构如下:
D:\pythonWorkSpace\Demo.py
D:\pythonWorkSpace\DemoPro
D:\pythonWorkSpace\DemoPro.idea
D:\pythonWorkSpace\DemoPro.idea\DemoPro.iml
D:\pythonWorkSpace\DemoPro.idea\encodings.xml
D:\pythonWorkSpace\DemoPro.idea\misc.xml
D:\pythonWorkSpace\DemoPro.idea\modules.xml
D:\pythonWorkSpace\DemoPro.idea\workspace.xml
D:\pythonWorkSpace\DemoPro\com
D:\pythonWorkSpace\DemoPro\com\aruforce
D:\pythonWorkSpace\DemoPro\com\aruforce\demo
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\Demo.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\Demo2.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\DocTestDemo.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\GcDemo.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\IODemo.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\UnitestDemo.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo__init__.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo__pycache__
D:\pythonWorkSpace\DemoPro\com\aruforce__init__.py
D:\pythonWorkSpace\DemoPro\com\aruforce__pycache__
D:\pythonWorkSpace\DemoPro\com__init__.py
D:\pythonWorkSpace\DemoPro\com__pycache__
D:\pythonWorkSpace\HelloWorld.py
D:\pythonWorkSpace\test.jpg
D:\pythonWorkSpace\test2.jpg

lfiles 输出为:
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\Demo.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\DemoPro
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\HelloWorld.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\test.jpg
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\test2.jpg
指数输出了一级目录

请帮满看看代码问题出在哪里?

解决了 os.path.isdir(x) 的问题。

 import os;# 操作系统lib
def listAppendlist(l1,l2):
    for x in l2:
        l1.append(x);
def mylistAllFiles(pathstr):
    pathfiles = os.listdir(pathstr);
    allfile = [];
    for x in pathfiles:
        filepath = os.path.join(pathstr,x)
        #print(filepath,os.path.isdir(filepath));
        allfile.append(filepath);
        if os.path.isdir(filepath):
            listAppendlist(allfile,mylistAllFiles(filepath));
    return allfile;
allfiles = mylistAllFiles('D:\pythonWorkSpace')
for x in allfiles:
    print(x);

实际目录结构如下:
D:\pythonWorkSpace\Demo.py
D:\pythonWorkSpace\DemoPro
D:\pythonWorkSpace\DemoPro.idea
D:\pythonWorkSpace\DemoPro.idea\DemoPro.iml
D:\pythonWorkSpace\DemoPro.idea\encodings.xml
D:\pythonWorkSpace\DemoPro.idea\misc.xml
D:\pythonWorkSpace\DemoPro.idea\modules.xml
D:\pythonWorkSpace\DemoPro.idea\workspace.xml
D:\pythonWorkSpace\DemoPro\com
D:\pythonWorkSpace\DemoPro\com\aruforce
D:\pythonWorkSpace\DemoPro\com\aruforce\demo
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\Demo.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\Demo2.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\DocTestDemo.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\GcDemo.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\IODemo.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\UnitestDemo.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo__init__.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo__pycache__
D:\pythonWorkSpace\DemoPro\com\aruforce__init__.py
D:\pythonWorkSpace\DemoPro\com\aruforce__pycache__
D:\pythonWorkSpace\DemoPro\com__init__.py
D:\pythonWorkSpace\DemoPro\com__pycache__
D:\pythonWorkSpace\HelloWorld.py
D:\pythonWorkSpace\test.jpg
D:\pythonWorkSpace\test2.jpg

程序输出为:
D:\pythonWorkSpace\Demo.py
D:\pythonWorkSpace\DemoPro
D:\pythonWorkSpace\DemoPro.idea
D:\pythonWorkSpace\DemoPro.idea\DemoPro.iml
D:\pythonWorkSpace\DemoPro.idea\encodings.xml
D:\pythonWorkSpace\DemoPro.idea\misc.xml
D:\pythonWorkSpace\DemoPro.idea\modules.xml
D:\pythonWorkSpace\DemoPro.idea\workspace.xml
D:\pythonWorkSpace\DemoPro\com
D:\pythonWorkSpace\DemoPro\com\aruforce
D:\pythonWorkSpace\DemoPro\com\aruforce\demo
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\Demo.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\Demo2.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\DocTestDemo.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\GcDemo.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\IODemo.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo\UnitestDemo.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo__init__.py
D:\pythonWorkSpace\DemoPro\com\aruforce\demo__pycache__
D:\pythonWorkSpace\DemoPro\com\aruforce__init__.py
D:\pythonWorkSpace\DemoPro\com\aruforce__pycache__
D:\pythonWorkSpace\DemoPro\com__init__.py
D:\pythonWorkSpace\DemoPro\com__pycache__
D:\pythonWorkSpace\HelloWorld.py
D:\pythonWorkSpace\test.jpg
D:\pythonWorkSpace\test2.jpg

pathfiles.append(os.path.abspath(x));
分号是全角的

http://www.cnblogs.com/kaituorensheng/archive/2012/08/14/2638935.html