web技术

用Python遍历文件夹(目录)下所有文件

2023-10-11 18:02 作者:Admin

本文介绍使用Python遍历文件夹(目录)下所有文件的方法,包括递归遍历子目录和不遍历子目录两种情况。

在 Python 中,我们可以使用 os 模块来遍历目录。下面是一个基本的示例:

import os

def traverse_dir(path):
    r = []
    for root, dirs, files in os.walk(path):
        for file in files:
            r.append(os.path.join(root,file))
    return r

files = traverse_dir('E:\workspace\python')
for file in files:
    print(file)

这个脚本将会遍历指定的目录,并打印出所有子文件的完整路径。其中“E:\workspace\python”是要遍历的实际目录,请自行修改,可以是相对路径,例如“./test”。

os.walk(path) 是一个生成器,它遍历给定目录的所有子目录和文件。对于每个子目录或文件,它返回一个三元组,包含当前目录路径(相对于提供的路径)、该目录下的所有子目录名(也是一个列表),以及该目录下的所有文件名(也是一个列表)。os.walk() 使遍历子目录变得很简单,不需要像其它语言一样手动编写递归函数。

os.path.join(root,file) 是用来获取完整的文件路径的,其中 root 是当前正在遍历的目录,file 是在该目录中找到的文件名。

如果你只想遍历指定目录的文件,而不包括子目录,你可以使用 os.listdir() 函数来实现。以下是一个简单的示例:

import os
  
def list_files(directory):
    r = []
    for file in os.listdir(directory):
        if os.path.isfile(os.path.join(directory,file)):
            r.append(file)
    return r

  
files = list_files('E:\workspace\python')
for file in files:
    print(file)

这段代码会遍历指定目录下的所有文件,但不会递归进入子目录。

推荐文章
如何批量修改文件名?你可能在网上搜到了许多方法,但操作起来并不简单,有...
同事找我帮忙,让我帮他写一个Python程序,用来删除Excel中的重复行。于是我...
如何使用Python在Excel中删除行?实际情景中往往是要求按条件删除、批量删除...
同事找我帮忙,希望能帮她写一个文件检测程序,运行程序就能快速找出被修改...
如何使用 Python 在 Excel 查找数据?如何实现模糊查找和精确查找?如何在一...
推荐专题
如何自己建网站?建网站难不难?其实建网站说难不难,说容易也并不容易,难...
本专题精心收集整理了多种HTML+CSS+JS轮播图实现方案,带详细代码和讲解,正...