python小知识--python遍历指定文件的所有文件和目录

本文介绍了Python标准库os模块中的listdir()方法,该方法用于获取指定路径下的所有文件及文件夹名称列表。文章通过示例代码展示了如何使用listdir()遍历指定目录,并输出其包含的所有文件和子文件夹。

概述

os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 '.' 和'..' 即使它在文件夹中。

只支持在 Unix, Windows 下使用。

语法

listdir()方法语法格式如下:

os.listdir(path)

参数

  • path -- 需要列出的目录路径

返回值

返回指定路径下的文件和文件夹列表。

实例

以下实例演示了 listdir() 方法的使用:

准备工作:我的./data/test路径下有如下文件

然后写编写python代码,遍历上图中的所有文件和路径

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os,sys

path = "./data/test/"
dirs = os.listdir(path)

for file in dirs:
    print(file)
    

运行结果如下:

173.jpg
56.jpg
DIR1
DIR3
test_img.jpg

实验结果和预期的结果一致。




以下是几种使用 Python 通过递归法遍历指定目录下所有子目录文件的实现方法: #### 方法一:使用 `os.listdir` ```python import os def gci(filepath): files = os.listdir(filepath) for fi in files: fi_d = os.path.join(filepath, fi) if os.path.isdir(fi_d): gci(fi_d) else: print(os.path.join(filepath, fi)) # 调用示例,需将路径替换为实际要遍历目录 gci('/your/path/here') ``` 这种方法通过 `os.listdir` 获取指定目录下的所有文件文件夹,然后判断是否为目录,若是则递归调用函数继续遍历目录 [^2]。 #### 方法二:另一种 `os.listdir` 的实现 ```python import os def traverse_dir(dir_path): for filename in os.listdir(dir_path): file_path = os.path.join(dir_path, filename) if os.path.isdir(file_path): traverse_dir(file_path) else: print(file_path) # 调用示例,需将路径替换为实际要遍历目录 traverse_dir('/your/path/here') ``` 此方法同样使用 `os.listdir` 遍历目录,遇到子目录时递归调用函数 [^3]。 #### 方法三:将文件路径存入列表 ```python import os def get_all_files(path): file_list = [] for root, dirs, files in os.walk(path): for file in files: file_list.append(os.path.join(root, file)) return file_list # 调用示例,需将路径替换为实际要遍历目录 all_files = get_all_files('/your/path/here') for file in all_files: print(file) ``` 该方法使用 `os.walk` 递归遍历目录,将所有文件路径存入列表中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值