亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問板塊 發(fā)新帖
查看: 2558 | 回復(fù): 2
打印 上一主題 下一主題

用Python生成目錄樹 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-04-20 14:23 |只看該作者 |倒序?yàn)g覽
這是一個(gè)使用Python生成文件、目錄樹的程序,其中遇到一個(gè)問題是:如何確定某個(gè)目錄下的某一文件是最后一個(gè)遍歷的文件。因?yàn)樽詈笠粋(gè)遍歷的文件前應(yīng)添加"└─",非最后一個(gè)文件前添加"├─"?戳薖ython的API文檔沒有找到相關(guān)的系統(tǒng)函數(shù)。現(xiàn)在做法是:先統(tǒng)計(jì)出某個(gè)目錄下的文件個(gè)數(shù),在遍歷目錄時(shí),當(dāng)個(gè)數(shù)相等時(shí),就可以確定該目錄遍歷結(jié)束。
  1. # encoding: utf-8

  2. import os
  3. class dir(object):
  4.         def __init__(self):
  5.                 self.SPACE = ""
  6.                 self.list = []
  7.        
  8.         def getCount(self, url):
  9.                 files = os.listdir(url)
  10.                 count = 0;
  11.                 for file in files:
  12.                         myfile = url + "\\" + file
  13.                         if os.path.isfile(myfile):
  14.                                 count = count + 1
  15.                 return count
  16.         def getDirList(self, url):
  17.                 files = os.listdir(url)
  18.                 fileNum = self.getCount(url)
  19.                 tmpNum = 0
  20.                 for file in files:
  21.                         myfile = url + "\\" + file
  22.                         size = os.path.getsize(myfile)
  23.                         if os.path.isfile(myfile):
  24.                                 tmpNum = tmpNum +1
  25.                                 if (tmpNum != fileNum):
  26.                                         self.list.append(str(self.SPACE) + "├─" + file + "\n")
  27.                                 else:
  28.                                         self.list.append(str(self.SPACE) + "└─" + file + "\n")
  29.                         if os.path.isdir(myfile):
  30.                                 self.list.append(str(self.SPACE) + "├─" + file + "\n")
  31.                                 # change into sub directory
  32.                                 self.SPACE = self.SPACE + "│  "
  33.                                 self.getDirList(myfile)
  34.                             # if iterator of sub directory is finished, reduce "│  "
  35.                                 self.SPACE = self.SPACE[:-4]
  36.                 return self.list
  37.         def writeList(self, url):
  38.                 f = open(url, 'w')
  39.                 f.writelines(self.list)
  40.                 print "ok"
  41.                 f.close()
  42. if __name__ == '__main__':
  43.         d = dir()
  44.         d.getDirList("c:/windows") # input directory
  45.         d.writeList("c:/1.txt") # write to file
復(fù)制代碼
產(chǎn)生文件的效果圖:

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2012-07-16 14:43 |只看該作者
你取到的文件列表都放到變量里保存了,取列表變量的最后一個(gè)元素不就得到你要遍歷的列表的最后一個(gè)文件名了?(同一目錄下沒有文件會(huì)重名。
是這樣吧

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2012-07-16 15:45 |只看該作者
敢不敢tree?
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP