abstract:本篇文章主要介紹了Python 遍歷子文件和所有子文件夾的代碼實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。最近看ECShop到網(wǎng)上找資料,發(fā)現(xiàn)好多說明ECShop的文件結(jié)構(gòu)不全面,于是想自己弄個(gè)出來。但這是個(gè)無聊耗時(shí)的工作,自己就寫了個(gè)Python腳本,可以遞歸遍歷目錄下的所有文件和所有子目錄,并將結(jié)果記錄到一個(gè).xml文件中(因?yàn)橄胧褂肗otepad++的代碼折疊功能,所以使用.xm
本篇文章主要介紹了Python 遍歷子文件和所有子文件夾的代碼實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
最近看ECShop到網(wǎng)上找資料,發(fā)現(xiàn)好多說明ECShop的文件結(jié)構(gòu)不全面,于是想自己弄個(gè)出來。但這是個(gè)無聊耗時(shí)的工作,自己就寫了個(gè)Python腳本,可以遞歸遍歷目錄下的所有文件和所有子目錄,并將結(jié)果記錄到一個(gè).xml文件中(因?yàn)橄胧褂肗otepad++的代碼折疊功能,所以使用.xml文件)。
下面就是Python代碼:
# -*- coding: cp936 -*- ############################################# # Written By Qian_F # # 獲取文件路徑列表,并寫入到當(dāng)前目錄生成test.txt # ############################################# import os def getfilelist(filepath, tabnum=1): simplepath = os.path.split(filepath)[1] returnstr = simplepath+"目錄<>"+"\n" returndirstr = "" returnfilestr = "" filelist = os.listdir(filepath) for num in range(len(filelist)): filename=filelist[num] if os.path.isdir(filepath+"/"+filename): returndirstr += "\t"*tabnum+getfilelist(filepath+"/"+filename, tabnum+1) else: returnfilestr += "\t"*tabnum+filename+"\n" returnstr += returnfilestr+returndirstr return returnstr+"\t"*tabnum+"</>\n" path = raw_input("請輸入文件路徑:") usefulpath = path.replace('\\', '/') if usefulpath.endswith("/"): usefulpath = usefulpath[:-1] if not os.path.exists(usefulpath): print "路徑錯(cuò)誤!" elif not os.path.isdir(usefulpath): print "輸入的不是目錄!" else: filelist = os.listdir(usefulpath) o=open("test.xml","w+") o.writelines(getfilelist(usefulpath)) o.close() print "成功!請查看test.xml文件"
執(zhí)行該P(yáng)ython腳本后會(huì)在當(dāng)前目錄生成test.xml文件,使用Notepad++打開(以ANSI編碼方式)就可以看到指定目錄的文件結(jié)構(gòu)了。下面是我生成的ECShop下upload目錄的文件結(jié)構(gòu)部分截圖:
更多關(guān)于Python 遍歷子文件和所有子文件夾的代碼實(shí)例請關(guān)注PHP中文網(wǎng)(ipnx.cn)其他文章!