Python 遍歷子文件和所有子文件夾的代碼實例
最近看ECShop到網(wǎng)上找資料,發(fā)現(xiàn)好多說明ECShop的文件結(jié)構(gòu)不全面,于是想自己弄個出來。但這是個無聊耗時的工作,自己就寫了個Python腳本,可以遞歸遍歷目錄下的所有文件和所有子目錄,并將結(jié)果記錄到一個.xml文件中(因為想使用Notepad++的代碼折疊功能,所以使用.xml文件)。
下面就是Python代碼:
# -*- coding: cp936 -*-
#############################################
# Written By Qian_F #
# 獲取文件路徑列表,并寫入到當前目錄生成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 "路徑錯誤!"
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í)行該Python腳本后會在當前目錄生成test.xml文件,使用Notepad++打開(以ANSI編碼方式)就可以看到指定目錄的文件結(jié)構(gòu)了。下面是我生成的ECShop下upload目錄的文件結(jié)構(gòu)部分截圖:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Win10下python3.5和python2.7環(huán)境變量配置教程
這篇文章主要為大家詳細介紹了Win10下python3.5和python2.7環(huán)境變量配置教程,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09
基于Python和C++實現(xiàn)刪除鏈表的節(jié)點
這篇文章主要介紹了基于Python和C++實現(xiàn)刪除鏈表的節(jié)點,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07
Python學習之.iloc與.loc的區(qū)別、聯(lián)系和用法
loc和iloc都是pandas工具中定位某一行的函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python學習之.iloc與.loc的區(qū)別、聯(lián)系和用法的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-05-05
解決Python的str強轉(zhuǎn)int時遇到的問題
下面小編就為大家分享一篇解決Python的str強轉(zhuǎn)int時遇到的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
python多項式擬合之np.polyfit 和 np.polyld詳解
這篇文章主要介紹了python多項式擬合之np.polyfit 和 np.polyld的實例代碼,python數(shù)據(jù)擬合主要可采用numpy庫,庫的安裝可直接用pip install numpy等,需要的朋友跟隨小編一起學習吧2020-02-02
python監(jiān)控網(wǎng)卡流量并使用graphite繪圖的示例
這篇文章主要介紹了python監(jiān)控網(wǎng)卡流量并使用graphite繪圖的示例,需要的朋友可以參考下2014-04-04

