python 遍历磁盘目录的三种方法

针对 "python 遍历磁盘目录的三种方法",我会详细讲解一下。

1. 使用os模块的walk方法

在Python中,可以使用os模块的walk方法进行文件遍历,该方法会遍历指定目录及其子目录下的所有文件,并以元组的形式返回各个文件的路径信息。

示例代码:

import os

path = 'C:\Data'
for root, dirs, files in os.walk(path):
    for file in files:
        print(os.path.join(root, file))
  • 首先我们调用了os模块
  • 接着指定要遍历的目录路径
  • 使用for循环以遍历的方式读取目录下的文件,os.walk()方法返回的是一个三元组,其中root表示目录的路径,dirs表示该目录下的子目录信息,files表示该目录下的所有文件信息。
  • 最后我们使用os.path.join()方法将目录路径和文件名拼接为一个完整的文件路径信息,并打印出来。

2. 使用glob模块的glob方法

除了os模块,Python的glob模块也可以用于文件遍历。glob.glob()方法返回指定目录下所有符合条件的文件,并以列表的形式返回。我们可以使用os.path模块的isfile()函数来判断是否为文件。

示例代码:

import glob
import os

path = 'C:\Data\*.csv'
for file_path in glob.glob(path):
    if os.path.isfile(file_path):
        print(file_path)
  • 首先我们调用了glob模块
  • 接着使用glob.glob()方法获取所有符合条件的文件列表。该方法接收一个路径表达式,类似于shell中的通配符,例如'C:\Data*.csv'表示获取C:\Data目录下的所有csv文件。
  • 接着通过for循环遍历文件列表,使用os.path模块的isfile()函数判断文件是否真正存在,并打印出所有符合条件的文件路径。

3. 使用os模块的listdir方法

Python的os模块提供了一个针对目录的简单内置函数,即os.listdir()方法,这个方法用来获取目录中的所有文件列表,与os.walk()方法类似,但没有递归进入子目录。

示例代码:

import os

path = 'C:\Data'
for file_name in os.listdir(path):
    full_path = os.path.join(path, file_name)
    if os.path.isfile(full_path):
        print(full_path)
  • 首先我们也调用了os模块
  • 然后指定要遍历的目录路径
  • 使用for循环以遍历的方式读取目录下的文件名列表
  • 然后使用os.path.join()方法将目录路径和文件名拼接成完整的路径
  • 最后使用os.path模块的isfile()函数判断该路径是否为文件,如果是文件,就打印出文件路径信息。

这三种方法各有特色,可以根据实际情况进行选择使用。当需要遍历整个目录时,推荐使用os.walk()方法,当需要获取指定类型的文件时,推荐使用glob.glob()方法,当只需要获取指定目录的文件及其子文件时,推荐使用os.listdir()方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 遍历磁盘目录的三种方法 - Python技术站

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

相关文章

  • python中in在list和dict中查找效率的对比分析

    Python中in在list和dict中查找效率的对比分析 在Python中,in关键字可以用于在列表(List)和字典(Dictionary)中查找元素。本文将详细讲解Python中in在list和dict中查找效率的对比分析,包括使用timeit模块进行性能测试和分析。 方法一:使用timeit模块进行性能测试 Python中的timeit模块可以用测试…

    python 2023年5月13日
    00
  • Python文件夹与文件的操作实现代码

    下面是Python文件夹与文件的操作实现代码的完整攻略。 1. 获取文件路径 对于文件夹和文件的操作,首先需要获取其路径。Python提供了os库来进行路径操作。 获取当前文件夹路径 import os current_dir = os.getcwd() print(f"当前文件夹路径为:{current_dir}") 上述代码使用get…

    python 2023年5月31日
    00
  • tensorflow 打印内存中的变量方法

    要打印tensorflow内存中的变量,我们需要使用tensorflow的Session类中的run方法。具体代码如下: import tensorflow as tf # 创建一个tensorflow变量x x = tf.Variable(0) # 创建一个操作,将x加1 add_op = tf.assign_add(x, 1) # 创建一个会话 with…

    python 2023年6月3日
    00
  • Python字典,函数,全局变量代码解析

    Python字典、函数和全局变量是Python编程中的一些重要的概念。下面我们将详细讲解它们的概念、用法及示例。 Python字典 Python字典是一种可变容器模型,它是以键值对(key-value)的形式存储数据的,每一个键值对之间用逗号隔开,整个字典写在花括号 {} 中。字典中的键必须是唯一的。 下面是Python字典的一些基本操作: 创建字典 我们可…

    python 2023年5月13日
    00
  • Python3学习笔记之列表方法示例详解

    下面是关于Python3列表方法的详细攻略,包含两个示例说明。 列表方法 在Python3中,列表是一种非常常用的类型,它供了许多方法来操作列表。下面是一些常用的列表方法: append():向列表末尾添加一个元素。 extend():向列表末尾添加多个元素。 insert():在指定位置插入一个元素。 remove():删除列表的一个元素。 pop():删…

    python 2023年5月13日
    00
  • 无法使用 Matplotlib – Ubuntu 10.10 和 Python 3.2

    【问题标题】:Unable to use Matplotlib – Ubuntu 10.10 and Python 3.2无法使用 Matplotlib – Ubuntu 10.10 和 Python 3.2 【发布时间】:2023-04-07 21:29:01 【问题描述】: 我在 Ubuntu 10.10 i386(32 位)上运行 python3.2。…

    Python开发 2023年4月8日
    00
  • Python写的一个定时重跑获取数据库数据

    下面我将为您详细讲解如何使用Python写一个定时重跑获取数据库数据的攻略。 1. 准备工作 首先,您需要安装Python环境,以及数据库连接库,如pymysql或者其他支持您所使用数据库的连接库。 接下来,我们需要安装和配置一个定时任务执行工具,如Linux中的crontab,Windows中的任务计划程序。以crontab为例,您可以通过以下命令进入编辑…

    python 2023年6月6日
    00
  • Python数据结构与算法中的栈详解(1)

    当我写“Python数据结构与算法中的栈详解(1)”这篇文章时,我遵循了以下几个步骤: 1. 确定目标读者 在为网站编写文章之前,我们应该确定我们想要吸引的目标读者是谁。因此,在为这篇文章的编写时,我明确了以下目标读者:熟悉Python编程语言的初学者和具有Python编程经验的开发人员,他们想要深入了解Python中的栈数据结构。 2. 介绍栈数据结构的基…

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