Python实现遍历目录的两张方法总结

 更新时间:2024年02月01日 09:14:04   作者:白客小李666  
我们有时想直接查看文件夹里的所有文件,但使用正常的方法太麻烦了,于是本文开发出了两个python程序,可以遍历目录,有需要的小伙伴可以参考下

第一种

 不知大家还是否记得,我之前在我的处理文件程序里写过这个功能

python处理文件程序

这个程序只需要os、time库即可

import os,time

然后就可以写遍历代码了

for foldername,subfolders,filenames in os.walk(bianli_dir):
    print('当前文件夹:'+foldername)          #输出当前的文件夹📂
    for subfolder in subfolders:        #遍历当前文件夹中的子文件夹
        print('在'+foldername+'里的子文件夹:'+subfolder)
        for filename in filenames:#遍历子文件夹中的文件
            print('在'+foldername+'里的文件:'+filename)

剩下的就是询问、报错功能,大家根据自己的喜好可以往上添枝加叶

完整代码(示例)

print("请回答您要遍历的目录")
bianli_dir=input(">>>")
try:
    for foldername,subfolders,filenames in os.walk(bianli_dir):
        print('当前文件夹:'+foldername)          #输出当前的文件夹📂
        for subfolder in subfolders:        #遍历当前文件夹中的子文件夹
            print('在'+foldername+'里的子文件夹:'+subfolder)
            for filename in filenames:#遍历子文件夹中的文件
                print('在'+foldername+'里的文件:'+filename)
    time.Sleep(1)
    print(" ")
    print("遍历完成!")
except:
    if FileNotFoundError:
        print("没有此目录")
    else:
        print("此文件夹无法遍历")

测试程序,现在我有一个名为“111”的文件夹

运行。。。。。。

成功!已经满足了基本需求

第二种

这种方法是以界面形式反馈结果,有人会说,作者,你用上tkinter里的messagebox模块不就得了

也对,但是如果你要遍历一个特别大的文件夹呢

再大点,屏幕满了。。。。。

这时候我们得想一种别的方法,既然说到tkinter了,那咱就用它吧!

导包

import os
import tkinter as tk
from tkinter.ttk import *
class Tree(object):
    """遍历目录"""
    def __init__(self,path):
        self.win=tk.Tk()          #创建窗口
        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中的最后一个文件名
        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()          #创建窗口
        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中的最后一个文件名
        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)

运行!

显示树形目录 2024-01-31 13-11-21

运行成功

=)

总结

这就是python遍历目录的两种方法,一种是用打印形式反馈结果,另一种是以tkinter界面反馈结果,其中第二种功能更加强大,任何文件夹,无论多大,都可遍历

到此这篇关于Python实现遍历目录的两张方法总结的文章就介绍到这了,更多相关Python遍历目录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python tkinter图形界面代码统计工具

    python tkinter图形界面代码统计工具

    这篇文章主要为大家详细介绍了python tkinter图形界面代码统计工具,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • Python 文件批量处理操作的实现示例

    Python 文件批量处理操作的实现示例

    Python提供了丰富的工具来处理文件批量操作,包括批量重命名文件、移动文件和修改文件内容,具有一定的参考价值,感兴趣的可以了解一下
    2024-12-12
  • 基于Python编写一个简单的http服务器

    基于Python编写一个简单的http服务器

    这篇文章主要为大家详细介绍了如何基于Python编写一个简单的http服务器,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-04-04
  • Python中利用ItsDangerous快捷实现数据加密

    Python中利用ItsDangerous快捷实现数据加密

    这篇文章主要介绍了Python中利用ItsDangerous快捷实现数据加密,通过使用Python库ItsDangerous,我们就可以高效快捷地完成数据加密/解密的过程,本文结合实例代码给大家讲解的非常详细,需要的朋友可以参考下
    2022-11-11
  • python爬虫添加请求头代码实例

    python爬虫添加请求头代码实例

    这篇文章主要介绍了python爬虫添加请求头代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python基于二分查找实现求整数平方根的方法

    Python基于二分查找实现求整数平方根的方法

    这篇文章主要介绍了Python基于二分查找实现求整数平方根的方法,涉及Python的二分查找算法与数学运算相关技巧,需要的朋友可以参考下
    2016-05-05
  • Python Flask基础到登录功能的实现代码

    Python Flask基础到登录功能的实现代码

    这篇文章主要介绍了Python Flask基础到登录功能的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • Python plt.imshow函数及其参数使用

    Python plt.imshow函数及其参数使用

    plt.imshow()是Matplotlib库中的一个函数,主要用于显示图像或矩阵数据,本文主要介绍了Python plt.imshow函数及其参数使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Python OpenCV中的drawMatches()关键匹配绘制方法

    Python OpenCV中的drawMatches()关键匹配绘制方法

    这篇文章主要介绍了Python OpenCV中的drawMatches()关键匹配绘制方法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • Python写脚本常用模块OS基础用法详解

    Python写脚本常用模块OS基础用法详解

    这篇文章主要介绍了Python写脚本常用模块OS基础用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论