使用python生成目录树
这是一个使用Python生成文件、目录树的程序,其中遇到一个问题是:如何确定某个目录下的某一文件是最后一个遍历的文件。因为最后一个遍历的文件前应添加"└─",非最后一个文件前添加"├─"。看了Python的API文档没有找到相关的系统函数。现在做法是:先统计出某个目录下的文件个数,在遍历目录时,当个数相等时,就可以确定该目录遍历结束。
#encoding:utf-8 importos classdir(object): def__init__(self): self.SPACE="" self.list=[] defgetCount(self,url): files=os.listdir(url) count=0; forfileinfiles: myfile=url+"//"+file ifos.path.isfile(myfile): count=count+1 returncount defgetDirList(self,url): files=os.listdir(url) fileNum=self.getCount(url) tmpNum=0 forfileinfiles: myfile=url+"//"+file size=os.path.getsize(myfile) ifos.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") ifos.path.isdir(myfile): self.list.append(str(self.SPACE)+"├─"+file+"/n") #changeintosubdirectory self.SPACE=self.SPACE+"│" self.getDirList(myfile) #ifiteratorofsubdirectoryisfinished,reduce"│" self.SPACE=self.SPACE[:-4] returnself.list defwriteList(self,url): f=open(url,'w') f.writelines(self.list) print"ok" f.close() if__name__=='__main__': d=dir() d.getDirList("c:/windows")#inputdirectory d.writeList("c:/1.txt")#writetofile
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。