python实现linux下文件遍历

import os

def getAllFile(*names):
    if len(names) == 0:
        return ""
    else:
        allList = []
        for name in names:
            fileAndDirString = os.popen("ls -l "+name).read()
            fileAndDirStringDo = "\n".join(fileAndDirString.split("\n")[1:-1])
            if fileAndDirStringDo:
                fileAndDirList = [fileOrDir.split(" ")[0]+" "+name+"/"+fileOrDir.split(" ")[-1] for fileOrDir in fileAndDirStringDo.split("\n")]
                allList.extend(fileAndDirList)
            # print(allList)
        fileList = []
        dirList = []

        for fileAndDir in allList:
            # print(fileAndDir)
            if fileAndDir[0] == "-":
                fileList.append(fileAndDir.split(" ")[-1])
            else:
                dirList.append(fileAndDir.split(" ")[-1])

        return "\n".join(fileList)+"\n"+getAllFile(*dirList)


r = getAllFile("/home/taomin")
print(r)

 

posted @ 2019-03-02 01:28  taomin  阅读(1950)  评论(0编辑  收藏  举报