Python實(shí)現(xiàn)遍歷目錄的兩張方法總結(jié)
第一種
不知大家還是否記得,我之前在我的處理文件程序里寫過這個(gè)功能
這個(gè)程序只需要os、time庫即可
import os,time
然后就可以寫遍歷代碼了
for foldername,subfolders,filenames in os.walk(bianli_dir): print('當(dāng)前文件夾:'+foldername) #輸出當(dāng)前的文件夾?? for subfolder in subfolders: #遍歷當(dāng)前文件夾中的子文件夾 print('在'+foldername+'里的子文件夾:'+subfolder) for filename in filenames:#遍歷子文件夾中的文件 print('在'+foldername+'里的文件:'+filename)
剩下的就是詢問、報(bào)錯功能,大家根據(jù)自己的喜好可以往上添枝加葉
完整代碼(示例)
print("請回答您要遍歷的目錄") bianli_dir=input(">>>") try: for foldername,subfolders,filenames in os.walk(bianli_dir): print('當(dāng)前文件夾:'+foldername) #輸出當(dāng)前的文件夾?? for subfolder in subfolders: #遍歷當(dāng)前文件夾中的子文件夾 print('在'+foldername+'里的子文件夾:'+subfolder) for filename in filenames:#遍歷子文件夾中的文件 print('在'+foldername+'里的文件:'+filename) time.Sleep(1) print(" ") print("遍歷完成!") except: if FileNotFoundError: print("沒有此目錄") else: print("此文件夾無法遍歷")
測試程序,現(xiàn)在我有一個(gè)名為“111”的文件夾
運(yùn)行。。。。。。
成功!已經(jīng)滿足了基本需求
第二種
這種方法是以界面形式反饋結(jié)果,有人會說,作者,你用上tkinter里的messagebox模塊不就得了
也對,但是如果你要遍歷一個(gè)特別大的文件夾呢
再大點(diǎn),屏幕滿了。。。。。
這時(shí)候我們得想一種別的方法,既然說到tkinter了,那咱就用它吧!
導(dǎo)包
import os import tkinter as tk from tkinter.ttk import * class Tree(object): """遍歷目錄""" def __init__(self,path): self.win=tk.Tk() #創(chuàng)建窗口 self.win.title("顯示樹形目錄") self.win.geometry("400x400") self.tree=Treeview(self.win) self.tree.heading("#0",text="file") self.tree.place(width=400,height=400) temppath=os.path.basename(path)#提取path中的最后一個(gè)文件名 treeF=self.tree.insert('',0,text=temppath)#一級目錄 self.showtree(path,treeF) self.win.mainloop() def showtree(self,path,root): filelist=os.listdir(path) #將文件夾的文件放入列表 for filename in filelist: abspath=os.path.join(path,filename) #將路徑添加到目錄樹中 treeFinside=self.tree.insert(root,0,text=filename,values=(abspath)) if os.path.isdir(abspath): self.showtree(abspath,treeFinside)
遍歷代碼
lujing=input("請輸入遍歷的路徑") a=Tree(lujing)
輸入路徑代碼
總代碼
import os import tkinter as tk from tkinter.ttk import * class Tree(object): """遍歷目錄""" def __init__(self,path): self.win=tk.Tk() #創(chuàng)建窗口 self.win.title("顯示樹形目錄") self.win.geometry("400x400") self.tree=Treeview(self.win) self.tree.heading("#0",text="file") self.tree.place(width=400,height=400) temppath=os.path.basename(path)#提取path中的最后一個(gè)文件名 treeF=self.tree.insert('',0,text=temppath)#一級目錄 self.showtree(path,treeF) self.win.mainloop() def showtree(self,path,root): filelist=os.listdir(path) #將文件夾的文件放入列表 for filename in filelist: abspath=os.path.join(path,filename) #將路徑添加到目錄樹中 treeFinside=self.tree.insert(root,0,text=filename,values=(abspath)) if os.path.isdir(abspath): self.showtree(abspath,treeFinside) lujing=input("請輸入遍歷的路徑") a=Tree(lujing)
運(yùn)行!
顯示樹形目錄 2024-01-31 13-11-21
運(yùn)行成功
=)
總結(jié)
這就是python遍歷目錄的兩種方法,一種是用打印形式反饋結(jié)果,另一種是以tkinter界面反饋結(jié)果,其中第二種功能更加強(qiáng)大,任何文件夾,無論多大,都可遍歷
到此這篇關(guān)于Python實(shí)現(xiàn)遍歷目錄的兩張方法總結(jié)的文章就介紹到這了,更多相關(guān)Python遍歷目錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python tkinter圖形界面代碼統(tǒng)計(jì)工具
這篇文章主要為大家詳細(xì)介紹了python tkinter圖形界面代碼統(tǒng)計(jì)工具,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09Python 文件批量處理操作的實(shí)現(xiàn)示例
Python提供了豐富的工具來處理文件批量操作,包括批量重命名文件、移動文件和修改文件內(nèi)容,具有一定的參考價(jià)值,感興趣的可以了解一下2024-12-12基于Python編寫一個(gè)簡單的http服務(wù)器
這篇文章主要為大家詳細(xì)介紹了如何基于Python編寫一個(gè)簡單的http服務(wù)器,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-04-04Python中利用ItsDangerous快捷實(shí)現(xiàn)數(shù)據(jù)加密
這篇文章主要介紹了Python中利用ItsDangerous快捷實(shí)現(xiàn)數(shù)據(jù)加密,通過使用Python庫ItsDangerous,我們就可以高效快捷地完成數(shù)據(jù)加密/解密的過程,本文結(jié)合實(shí)例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下2022-11-11Python基于二分查找實(shí)現(xiàn)求整數(shù)平方根的方法
這篇文章主要介紹了Python基于二分查找實(shí)現(xiàn)求整數(shù)平方根的方法,涉及Python的二分查找算法與數(shù)學(xué)運(yùn)算相關(guān)技巧,需要的朋友可以參考下2016-05-05Python Flask基礎(chǔ)到登錄功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了Python Flask基礎(chǔ)到登錄功能的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05Python plt.imshow函數(shù)及其參數(shù)使用
plt.imshow()是Matplotlib庫中的一個(gè)函數(shù),主要用于顯示圖像或矩陣數(shù)據(jù),本文主要介紹了Python plt.imshow函數(shù)及其參數(shù)使用,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02Python?OpenCV中的drawMatches()關(guān)鍵匹配繪制方法
這篇文章主要介紹了Python?OpenCV中的drawMatches()關(guān)鍵匹配繪制方法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07