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计时相关操作详解【time,datetime】

    Python计时相关操作详解【time,datetime】 在Python中涉及到计时的操作很多,比如计算程序运行时间、获取当前日期和时间等,主要用到了两个模块:time和datetime。在本文中,我们会详细讲解这两个模块的常用方法,并给出相应的代码示例。 time模块 time.time() time.time()函数用于获取当前时间的时间戳,返回值为浮…

    python 2023年6月2日
    00
  • python验证码图片处理(二值化)

    下面是关于Python验证码图片处理二值化的完整攻略。 1. 理解二值化 在图片处理中,二值化是指将图片中的像素点的灰度值(或彩色值)转化为0或1的过程。通俗来讲就是将一张图片转化成只包含黑色和白色两种颜色的图片。在验证码识别中,通常是将背景变为白色,验证码字体变为黑色,这样有助于提取验证码文字信息。 2. Python实现二值化 2.1 使用PIL库实现二…

    python 2023年5月18日
    00
  • Python中线程threading.Thread的使用详解

    Python中线程(threading.Thread)是实现并发操作的重要手段之一,通过线程可以实现多个任务同时进行,提高程序的效率。下面,我将为大家详细讲解如何使用Python中的线程(threading.Thread)。 基本用法 Python中的线程通过threading.Thread()方法来创建,该方法接收两个参数target和args,其中tar…

    python 2023年5月19日
    00
  • Python八皇后问题解答过程详解

    当我看到你的问题时,我想到了一个非常有趣也非常经典的算法问题–八皇后问题。这个问题是把8个皇后放在8×8的棋盘上,使得每个皇后都不会互相攻击。这是一个经典的递归算法问题,Python的优雅语法和解决问题的多种方式使其成为解决八皇后问题的理想选择。 下面我将提供一些关于如何通过Python解决八皇后问题的完整攻略: 1. 定义函数 首先,定义一个函数来实现八…

    python 2023年5月14日
    00
  • Python 2.7 BeautifulSoup4 返回一个空集

    【问题标题】:Python 2.7 BeautifulSoup4 is returning an empty setPython 2.7 BeautifulSoup4 返回一个空集 【发布时间】:2023-04-01 11:16:01 【问题描述】: 我正在尝试使用 bs4 从谷歌搜索中获取链接,但我的代码返回一个空集。 import requests fr…

    Python开发 2023年4月8日
    00
  • 【manim动画教程】–高级动画效果

    在常用的动画效果中,介绍了一些元素的创建,销毁,移动和变换的方法,这些方法都是针对单个动画的。如果需要多个动画互相关联,或者元素需要有更复杂的运动方式,那么,仅仅依靠常用的动画效果可能就无法满足要求了。 本篇的高级动画效果主要介绍一些更加灵活的元素运动方式,如何组合多个动画,以及如何联动多个动画的方式。掌握了这些方法,就能够表达出更加复杂的数学几何动画。 1…

    python 2023年4月17日
    00
  • python脚本之一键移动自定格式文件方法实例

    下面我将详细讲解“Python脚本之一键移动自定格式文件方法实例”的完整攻略。 1.前言 在日常工作中,我们经常需要针对不同的文件类型,编写不同的代码进行复制、转移等操作。这时,如果能够通过一种统一的方式进行处理,那么就可以大大提高效率。本文就是介绍了一种Python脚本,可以用来统一处理各种文件格式的移动操作。 2.环境准备 在使用本文中的Python脚本…

    python 2023年6月2日
    00
  • pip报错“ValueError: invalid literal for int() with base 10: ‘2.6’”怎么处理?

    当使用pip安装Python包时,可能会遇到“ValueError: invalid literal for int() with base 10: ‘2.6’”错误。这个错误通常是由以下原因之一引起的: 版本号格式不正确:如果版本号格式不正确,则会出现此错误。在这种情况下,需要检查版本号格式是否正确。 版本号包含非数字字符:如果版本号包含非数字字符,则会出…

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