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

yizhihongxing

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日

相关文章

  • Pandas的DataFrame如何做交集,并集,差集与对称差集

    Pandas是Python语言中用于数据分析和操作的常用库之一,而DataFrame是Pandas库中最重要的数据结构之一,它类似于Excel中的表格,可以方便地进行数据处理和运算。在DataFrame对象中,可以实现交集、并集、差集和对称差集的操作。 1. DataFrame的交集 利用Pandas的DataFrame对象的intersection()方法…

    python 2023年5月14日
    00
  • python针对不定分隔符切割提取字符串的方法

    针对不定分隔符的字符串切割可以使用Python的正则表达式模块–re来实现,具体步骤如下: 1.导入re模块 使用re模块分析字符串需要先导入re模块: import re 2.使用re.split()方法 re模块中的split()方法可以实现针对限定的分隔符分割字符串,但如果希望使用不定数量或不同分隔符进行切割,可以将一个正则表达式作为参数传入spli…

    python 2023年6月3日
    00
  • python标准库之time模块的语法与简单使用

    下面是”python标准库之time模块的语法与简单使用”的完整攻略。 一、time模块简介 Python标准库中的time模块提供了一组处理时间的函数,常用于计算程序执行时间、时间戳转换以及获取当前时间等操作。 二、time模块的基本语法 引入time模块:import time 常用函数如下: time():返回当前时间的时间戳,单位为秒。 localt…

    python 2023年6月2日
    00
  • Python利用多线程枚举实现获取wifi信息

    Python多线程枚举实现获取wifi信息攻略 1. 前置知识 在阅读本攻略之前,需要掌握以下知识: Python基础语法 网络编程基础:网络通信协议、socket编程 多线程编程基础:线程、锁、条件变量等 Linux基础命令行操作 2. 攻略实现步骤 本攻略实现步骤如下: 获取wifi网络接口名 执行iwlist命令获取接口附近无线网络信息 解析iwlis…

    python 2023年5月19日
    00
  • python 中的list和array的不同之处及转换问题

    以下是“Python中的List和Array的不同之处及转换问题”的完整攻略。 1. List和Array的不同之处 在Python中,List和Array都是用于存储多个元素的数据结构。它们之间有一些不同之处。 1.1 数据类型 List可以存储不同类型的数据,例如数字、字符串、布尔值等。而Array只能存储相同类型的数据,例如只能存储数字类型的数据。 1…

    python 2023年5月13日
    00
  • python实现逻辑回归的方法示例

    下面是“python实现逻辑回归的方法示例”的完整攻略。 1. 什么是逻辑回归 逻辑回归是一种用来预测二分类问题的机器学习算法,它的输出是一个0到1之间的概率值,表示结果为正类的概率大小。 2. 逻辑回归的 Python 实现 2.1 准备数据 逻辑回归算法首先需要准备数据。我们可以使用已有的数据集,或者自己创建数据。 以下是创建数据集的示例代码: impo…

    python 2023年5月19日
    00
  • Python3 把一个列表按指定数目分成多个列表的方式

    在Python中,可以使用列表切片的方式将一个列表按照指定的数目分成多个子列表。下面是详细的使用方法和示例说明。 将列表按指定数目分多个子列表的方法 可以使用列表切片的方式将一个列表按照指定的数目分成多个子列表。具体方法如下: def split_list(lst, size): return [lst[i:i+size] for i in range(0,…

    python 2023年5月13日
    00
  • python 人工智能算法之随机森林流程详解

    Python 人工智能算法之随机森林流程详解 什么是随机森林? 随机森林是一种集成学习方法,由多个决策树组合而成。每个决策树的结果综合起来作为最终结果。随机森林具有良好的稳定性和预测能力,可用于分类和回归问题。 随机森林的流程 数据处理 随机森林模型的输入为特征变量和目标变量。需要对原始数据进行清洗,包括缺失值处理、异常值处理等。此外,还需要将数据分为训练集…

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