用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]