Python遍历文件夹

本文详细介绍了如何使用Python的os.walk()方法遍历文件夹。内容包括理解walk()方法返回的三元组(root, dirs, files)的含义,以及参数topdown、onerror、followlinks的作用。通过实例展示了如何遍历指定目录下的所有文件和子目录。" 82143685,7973279,RF阻抗匹配:从理论到实践,"['射频工程', '电路设计', '硬件调试', '信号处理', '微带线']
摘要由CSDN通过智能技术生成

本篇主要介绍通过Python怎么遍历文件夹。以db3文件为例。
我们使用os.walk()方法来获取所有文件。

os.walk(top, topdown=True, onerror=None, followlinks=False) 

os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。

top —是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。

  • root 所指的是当前正在遍历的这个文件夹的本身的地址
  • dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
  • files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)

topdown —可选,为 True,则优先遍历 top 目录,否则优先遍历 top 的子目录(默认为开启)。如果 topdown 参数为True,walk 会遍历top文件夹,与top 文件夹中每一个子目录。

onerror —可选,需要一个 callable 对象,当 walk 需要异常时,会调用。

followlinks —可选,如果为 True,则会遍历目录下的快捷方式(linux 下是软连接 symbolic link )实际所指的目录(默认关闭),如果为 False,则优先遍历 top 的子目录。

该方法没有返回值。

以本机文件夹里的练习文件为例:

import os

#枚举目录下的所有文件

root_file = 'D:\任务'
paths = []     #用来存放文件路径

for root,dirs,files in os.walk(root_file):
    print(root)   #当前主目录
    print(dirs)   #当前主目录下的所有目录
    print(files)   #当前主目录下的所有文件
    for dir in dirs:
        print(os.path.join(root,dir))   #合成目录路径
    for file in files:
        print(os.path.join(rooot,file))   #合成完整路径

另一种写法:

for root,dirs,files in os.walk(root_file):
    print(root)   #当前主目录
    print(dirs)   #当前主目录下的所有目录
    print(files)   #当前主目录下的所有文件
    for name in files:      #在遍历出的文件里查找符合名字要求的文件
        if name == 'SpiderResult.db3':             
             path = os.path.join(root, name)    #合并成一个完整路径
             paths.append(path)   #整合所有符合条件的文件
Python遍历文件夹的方法有多种,其中一种常用的方法是使用os模块的listdir函数来获取文件夹下的所有文件文件夹的名称。然后可以使用isdir函数来判断每个名称对应的路径是否是文件夹,如果是文件夹,则可以进行进一步的递归遍历。以下是一个示例代码: ```python import os def scan_folder(folder_path): files = os.listdir(folder_path) for file in files: file_path = os.path.join(folder_path, file) if os.path.isdir(file_path): scan_folder(file_path) else: print(file_path) # 调用函数来遍历文件夹 scan_folder("D:\\") ``` 这段代码通过递归的方式遍历了指定文件夹下的所有文件,如果遇到文件夹,则会进一步递归遍历文件夹下的内容,并打印出所有文件的路径。请注意,该代码只会输出文件路径,不会输出文件夹里面的文件夹文件。如果需要遍历文件夹下的所有文件文件夹,请参考方法二。 另外,还可以使用os.walk函数来实现文件夹遍历,该函数会返回一个生成器,可以逐层遍历文件夹下的所有文件文件夹。以下是一个示例代码: ```python import os def scan_folder(folder_path): for root, dirs, files in os.walk(folder_path): for file in files: file_path = os.path.join(root, file) print(file_path) # 调用函数来遍历文件夹 scan_folder("D:\\") ``` 这段代码使用了os.walk函数来逐层遍历文件夹下的所有文件文件夹,然后通过循环打印出所有文件的路径。该方法可以输出文件夹里面的文件夹文件的路径。 总结起来,Python遍历文件夹可以使用os模块的listdir函数结合递归或者使用os.walk函数来实现。这样可以方便地获取文件夹下的所有文件文件夹,并进行相应的操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python---如何使用python遍历文件夹下的所有文件(输出所有文件夹以及文件)](https://blog.csdn.net/m0_59081230/article/details/121320471)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python递归遍历查询文件 & 文件夹](https://blog.csdn.net/weixin_51033461/article/details/123865385)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值