f002489 发表于 2013-2-7 08:56:26

用Python生成目录树

http://www.iteye.com/topic/494257
 
 

[*]# encoding: utf-8  
[*]  
[*]import os   
[*]class dir(object):   
[*]    def __init__(self):   
[*]        self.SPACE = ""   
[*]        self.list = []  
[*]      
[*]    def getCount(self, url):  
[*]        files = os.listdir(url)  
[*]        count = 0;  
[*]        for file in files:  
[*]            myfile = url + "\\" + file  
[*]            if os.path.isfile(myfile):  
[*]                count = count + 1  
[*]        return count  
[*]    def getDirList(self, url):   
[*]        files = os.listdir(url)   
[*]        fileNum = self.getCount(url)  
[*]        tmpNum = 0  
[*]        for file in files:   
[*]            myfile = url + "\\" + file   
[*]            size = os.path.getsize(myfile)   
[*]            if os.path.isfile(myfile):   
[*]                tmpNum = tmpNum +1  
[*]                if (tmpNum != fileNum):  
[*]                    self.list.append(str(self.SPACE) + "├─" + file + "\n")  
[*]                else:  
[*]                    self.list.append(str(self.SPACE) + "└─" + file + "\n")  
[*]            if os.path.isdir(myfile):   
[*]                self.list.append(str(self.SPACE) + "├─" + file + "\n")   
[*]                # change into sub directory  
[*]                self.SPACE = self.SPACE + "│  "   
[*]                self.getDirList(myfile)   
[*]                # if iterator of sub directory is finished, reduce "│  "   
[*]                self.SPACE = self.SPACE[:-4]   
[*]        return self.list   
[*]    def writeList(self, url):   
[*]        f = open(url, 'w')   
[*]        f.writelines(self.list)   
[*]        print "ok"   
[*]        f.close()   
[*]if __name__ == '__main__':   
[*]    d = dir()   
[*]    d.getDirList("c:/windows") # input directory  
[*]    d.writeList("c:/1.txt") # write to file 
产生文件的效果图:

http://dl.iteye.com/upload/attachment/158136/99c9d1d4-4bbc-3331-8569-55da07714782.jpg

[*]http://dl.iteye.com/upload/attachment/158136/99c9d1d4-4bbc-3331-8569-55da07714782-thumb.jpg
[*]大小: 43.7 KB
 
页: [1]
查看完整版本: 用Python生成目录树