Python遍历目录的4种方法实例介绍

Python遍历目录的4种方法实例介绍

在Python中,我们可以使用多种方法遍历目录。本文将对Python遍历目录的4种方法进行介绍,并提供实例示范。

方法一:os.listdir()方法

os.listdir()方法用于返回指定目录下的所有文件和目录名,我们可以使用for循环遍历得到每一个文件和目录的名称。具体代码示例如下:

import os

dir_path = 'path/to/your/directory'
file_list = os.listdir(dir_path)

for file_name in file_list:
    print(file_name)

方法二:os.walk()方法

os.walk()方法会遍历指定目录下的所有文件和子目录,并返回一个三元组(root, dirs, files),其中root表示遍历的根目录,dirs表示根目录下所有子目录的列表,files表示根目录下所有文件的列表。我们可以使用for循环遍历得到每一个文件和目录的名称。具体代码示例如下:

import os

dir_path = 'path/to/your/directory'

for root, dirs, files in os.walk(dir_path):
    print('当前目录:', root)
    print('包含的文件夹:', dirs)
    print('包含的文件:', files)

方法三:glob.glob()方法

glob.glob()方法用于返回指定目录下所有符合条件的文件,我们可以使用通配符来筛选需要的文件。具体代码示例如下:

import glob

dir_path = 'path/to/your/directory'

file_list = glob.glob(dir_path + '/*.txt')

print(file_list)

方法四:Path对象

Path库是Python 3.5及以上版本的标准库,它提供了一种新的方式来处理文件和路径。我们可以使用Path对象遍历目录,具体代码示例如下:

from pathlib import Path

dir_path = 'path/to/your/directory'

for file_name in Path(dir_path).glob('*.txt'):
    print(file_name)

以上四种方法可以根据不同的需要选择使用,它们均可用于遍历目录中所有的文件和目录,并通过条件筛选出需要的文件。

示例说明

示例1:遍历目录并统计每个文件的行数

import os

dir_path = 'path/to/your/directory'

for root, dirs, files in os.walk(dir_path):
    for file_name in files:
        file_path = os.path.join(root, file_name)  # 获取文件的绝对路径
        if file_path.endswith('.txt'):  # 只处理txt文件
            with open(file_path, 'r', encoding='utf-8') as f:
                line_count = len(f.readlines())
                print('{}: {:,}行'.format(file_path, line_count))

示例2:从各个目录中获取特定的文件

import os

dir_path = 'path/to/your/directory'

for root, dirs, files in os.walk(dir_path):
    for file_name in files:
        file_path = os.path.join(root, file_name)  # 获取文件的绝对路径
        if 'error' in file_name and file_path.endswith('.log'):  # 匹配包含error的文件名,并筛选出log文件
            with open(file_path, 'r', encoding='utf-8') as f:
                print(f.read())

以上两个示例说明了如何遍历目录中的文件,并根据不同的需求获取文件。其中示例1统计每个txt文件的行数,示例2获取包含error关键字的log文件内容。在实际使用中,根据自己的需求选择合适的方法,并根据需要扩展代码。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python遍历目录的4种方法实例介绍 - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • Python 字符串操作详情

    Python 是一门强大的编程语言,它内置了许多字符串操作功能,能够让我们轻松地完成字符串的处理任务。本文将详细讲解 Python 的字符串操作的详情。 字符串的定义 字符串是 Python 内置的一种数据类型,用引号引起来的一串字符就是字符串。Python 中使用单引号或双引号都可以定义字符串。 str1 = ‘hello world’ str2 = &q…

    python 2023年5月31日
    00
  • Python下线程之间的共享和释放示例

    下面是详细的攻略。 什么是线程间的共享和释放 Python下的多线程编程中,会涉及到多个线程之间的数据共享和同步问题。多个线程同时对一个共享资源进行读写时,容易造成数据的不一致,这个时候就需要对数据进行同步。 共享和释放主要是通过锁机制来实现。锁机制可以控制只有一个线程能够做一些特定的操作,其中一种锁是互斥锁。互斥锁是通过对一个资源进行加锁操作,使得其他想要…

    python 2023年5月19日
    00
  • k 表示使用 python 处理结构化数据 – 多于一列

    【问题标题】:k means on structured data using python – more than one columnk 表示使用 python 处理结构化数据 – 多于一列 【发布时间】:2023-04-07 10:35:01 【问题描述】: 在结构化数据中的多列上,k 是如何表示的? 在下面的示例中,它在 1 列(名称)上完成 tfi…

    Python开发 2023年4月8日
    00
  • 详细介绍python类及类的用法

    详细介绍Python类及类的用法 在Python中,类是一种面向对象编程的重要概念,它将数据和相应的操作封装在一起,实现代码的重用和封装性。本文将详细介绍Python类及类的用法,包括如何创建类、类的成员变量和成员方法、构造函数和析构函数、继承和多态的实现方法等内容。 创建类 在Python中,使用 class 关键字可以创建一个类,一个类中可以包含多个成员…

    python 2023年5月13日
    00
  • 关于WARNING:Ignoring invalid distribution -pencv-python….警告信息的处理方法(已解决!)

    关于WARNING:Ignoring invalid distribution -pencv-python….警告信息的处理方法(已解决!) 在使用Python的过程中,有时会出现一些警信息,如WARNING:Ignoring invalid distribution -pencv-python….这个警告信息。本文将介绍这个告信息的原因和解决方法。…

    python 2023年5月13日
    00
  • 对python打乱数据集中X,y标签对的方法详解

    对python打乱数据集中X,y标签对的方法详解 对于机器学习中的训练集数据,为了避免模型过拟合,一般需要将数据打乱后再进行训练。那么在python中,我们可以采用以下两种方法来对数据集中X,y标签对进行打乱。 方法一:使用sklearn库中的shuffle函数 from sklearn.utils import shuffle # 假设X和y分别是训练集的…

    python 2023年6月3日
    00
  • 解决Python 进程池Pool中一些坑

    解决Python 进程池Pool中一些坑 在Python中,进程池(Pool)是一种常用的并发编程方式,可以有效地提高程序的执行效率。但是,在使用进程池时,我们也需要注意一些坑点,本文将详细讲解如何解决这些坑点。 坑点一:进程池中函数必须在主模块中定义 在使用进程池时,我们需要将要执行的函数定义在主模块中,否则会出现PicklingError异常。这是因为在…

    python 2023年5月13日
    00
  • Python内置方法实现字符串的秘钥加解密(推荐)

    以下是详细讲解“Python内置方法实现字符串的秘钥加解密(推荐)”的完整攻略。 一、背景 在实际生产环境中,我们需要将一些敏感的信息进行加密,以提高信息的安全性。而常用的加密方式之一就是秘钥加密。本攻略将详细介绍如何使用Python内置方法对字符串进行秘钥加解密。 二、实现过程 1.定义加密函数encrypt(string, key): def encry…

    python 2023年6月5日
    00
合作推广
合作推广
分享本页
返回顶部