python遍历多个文件夹并对比_python循环读取文件夹之中的文件

python遍历多个文件夹并对比_python循环读取文件夹之中的文件在 Python 中 遍历多个文件通常有以下几种方法 1 使用 os walk 函数 pythonimport os def traverse folder folder path for root dirs files in os walk folder path for file in files file path os path join root

在Python中,遍历多个文件通常有以下几种方法:

1. 使用`os.walk()`函数:

```python

import os

def traverse_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)

folder_path = '/path/to/folder' 替换为要遍历的文件夹路径

traverse_folder(folder_path)

2. 使用`os.listdir()`函数递归遍历:```python

import os

def walk_dir(dirname):

for d in os.listdir(dirname):

path = os.path.join(dirname, d)

if os.path.isdir(path):

递归遍历子文件夹

for f in walk_dir(path):

yield f

else:

yield path

调用函数遍历文件夹

for file_path in walk_dir('/path/to/folder'):

print(file_path)

3. 使用`os.scandir()`函数进行遍历:

```python

import os

from tqdm import tqdm

def traverse_dir_files_for_large(root_dir, ext=None, depth_first=True):

paths_list = []

dir_list = [root_dir]

while len(dir_list) != 0:

dir_path = dir_list.pop(0)

dir_name = os.path.basename(dir_path)

for entry in tqdm(os.scandir(dir_path), f"[Info] dir {dir_name}"):

path = entry.path

if path.startswith('.'): 忽略隐藏文件

continue

if os.path.isfile(path):

if ext is None or path.endswith(ext):

paths_list.append(path)

elif os.path.isdir(path):

dir_list.append(path)

return paths_list

调用函数遍历文件夹及其子文件夹中的文件

file_paths = traverse_dir_files_for_large('/path/to/folder', ext='.txt')

print(file_paths)

以上方法均可用于遍历文件夹及其子文件夹中的所有文件。你可以根据具体需求选择合适的方法。需要注意的是,`os.walk()`和`os.scandir()`在处理大型文件夹时效率更高,因为它们不会将整个文件系统加载到内存中。

编程小号
上一篇 2025-05-27 19:06
下一篇 2025-05-27 19:02

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/79202.html