Python中文件遍历的两种方法

yizhihongxing

Python中文件遍历有两种方法:使用os模块和使用pathlib模块。下面我会对这两种方法进行详细说明,并且提供代码示例。

一、使用os模块进行文件遍历

os模块是Python自带的一个常用模块,其中包含了很多与文件和目录相关的功能,可以用它来实现文件遍历。

1. os.walk方法

os.walk方法可以列出指定目录下(包括子目录)的所有文件和文件夹,具体用法如下:

import os

# 遍历当前目录下的所有文件和文件夹
for root, dirs, files in os.walk('.'):
    print(root)  # 当前目录路径
    print(dirs)  # 当前路径下所有子目录
    print(files)  # 当前路径下所有非目录子文件

上述代码中,“.”代表当前目录,os.walk会自动遍历这个目录下的所有子目录,files中存放了当前路径下的所有非目录子文件列表,dirs中存放了所有的子目录列表。可以根据需要对这些列表进行处理。

2. os.listdir方法

os.listdir方法可以列出指定目录下的所有文件和文件夹,包括子文件夹中的内容,但是不会递归遍历子目录。具体用法如下:

import os

# 遍历指定目录下的所有文件和文件夹
for file_name in os.listdir('.'):
    file_path = os.path.join('.', file_name)
    if os.path.isdir(file_path):
        print(file_path, '是一个文件夹')
    else:
        print(file_path, '是一个文件')

上述代码中,os.listdir('.')可以列出当前目录下的所有文件和文件夹,然后通过os.path.isdir方法判断是文件夹还是文件。

二、使用pathlib模块进行文件遍历

pathlib是Python 3.4引入的一个新模块,用来处理文件操作,也可以用它来实现文件遍历。

1. Path.glob方法

Path.glob方法可以列出指定目录下的所有符合条件的文件和文件夹。

from pathlib import Path

# 遍历指定目录下的所有文件和文件夹
for p in Path('.').glob('**/*'):
    if p.is_dir():
        print(p, '是一个文件夹')
    else:
        print(p, '是一个文件')

上述代码中,Path类的构造函数可以接收目录路径作为参数,然后使用.glob方法来过滤出文件和文件夹。'/'表示在子目录中递归搜索,''表示匹配所有文件和文件夹。

2. Path.rglob方法

Path.rglob方法和Path.glob方法类似,都是用来遍历符合条件的文件和文件夹,但rglob方法会递归遍历子目录,具体用法如下:

from pathlib import Path

# 遍历指定目录及其子目录下的所有文件和文件夹
for p in Path('.').rglob('*'):
    if p.is_dir():
        print(p, '是一个文件夹')
    else:
        print(p, '是一个文件')

上述代码中,Path类的构造函数可以接收目录路径作为参数,然后使用.rglob方法进行递归遍历所有文件和文件夹,'*'表示匹配任意字符的文件和文件夹。

至此,两种文件遍历方法的完整攻略已经介绍完毕。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中文件遍历的两种方法 - Python技术站

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

相关文章

  • C#使用IronPython库调用Python脚本

    当我们使用C#开发程序时,想要调用Python脚本来实现某些功能是一种很常见的需求。而IronPython库则提供了一个便捷的方式,使得C#程序可以轻松调用Python脚本。 下面是使用IronPython库调用Python脚本的完整攻略: 1. 安装IronPython库 在使用IronPython库之前,需要先安装它。可以通过NuGet安装,也可以手动下…

    python 2023年6月3日
    00
  • 详解操作python容器的内置通用函数

    首先需要明确,Python中容器是指可存放其他对象的对象,比如列表、元组、字典、集合等。Python中有很多针对容器类型的内置通用函数,下面我将详细讲解这些函数的用法。 1. len len() 函数用于返回容器中元素的个数,比如列表中元素的个数、字符串中字符的个数、字典中键值对的个数等。 示例: list1 = [1, 2, 3, 4, 5] print(…

    python 2023年6月3日
    00
  • Python使用re模块实现信息筛选的方法

    以下是详细讲解“Python使用re模块实现信息筛选的方法”的完整攻略,包括re模块的介绍、正则表达式的基本语法、代码实现、两个示例说明和注意事项。 re模块介绍 在Python中,re模块是用于处理正则表达式的模块。正则表达式是一种用于匹配字符串的模式,可以用于搜索、替换和验证。re模块提供了一系列函数,用于处理正则表达式,包括搜索、替换、分割和匹配等操作…

    python 2023年5月14日
    00
  • python对字典进行排序实例

    当字典中的数据需要以一定的顺序展示时,我们通常需要对其进行排序操作。Python提供了对字典进行排序操作的方法,本文将详细讲解“Python对字典进行排序实例”。 字典排序方法 Python中对字典进行排序的方法有两种,分别为: 1.按键(Key)进行排序:使用sorted()函数结合字典的items()方法对字典按键进行排序,返回一个按照键排序后的元素列表…

    python 2023年5月13日
    00
  • 分享几种python 变量合并方法

    让我来详细讲解一下“分享几种python 变量合并方法”的完整攻略。 标准的变量合并方法 在 Python 中,可以使用”+”使用标准的变量合并方法。例如: list1 = [1, 2, 3] list2 = [4, 5, 6] result = list1 + list2 print(result) 输出结果为: [1, 2, 3, 4, 5, 6] ex…

    python 2023年5月19日
    00
  • python中的% 是什么意思,起到什么作用呢

    在 Python 中,% 是一种字符串格式化方式。它允许我们将变量插入到字符串中,而不必使用字符串拼接的方式,使代码更简洁易读。下面是关于 % 的详细讲解: 1. 字符串格式化 使用 % 进行字符串格式化是将变量插入到字符串中的一种简洁方法。我们可以使用 % 表示符,将变量的值插入到字符串中的位置。下面是一个简单示例: name = "小明&quo…

    python 2023年5月19日
    00
  • 微软开源最强Python自动化神器Playwright(不用写一行代码)

    微软开源最强Python自动化神器Playwright(不用写一行代码)攻略 什么是Playwright Playwright是一个由Microsoft开源的Python自动化测试工具。它可以用于对Web应用进行测试和自动化操作,支持跨浏览器、跨平台,无需浏览器插件或者WebDriver并且速度更快、更稳定。 安装Playwright 安装Node.js和n…

    python 2023年5月19日
    00
  • Python 使用字符串

    Python 中字符串属于基本的数据类型之一,它可以定义为一串字符的有序集合。在 Python 中,我们可以使用各种方式对字符串进行操作,包括字符串的连接、切片、查找、替换、格式化等。接下来,我将为您详细讲解如何在 Python 中使用字符串。 字符串的定义 Python 中可以使用单引号(‘)、双引号(“)、三单引号(”’)、三双引号(“””)来定义字符…

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