python 读取文件夹下所有文件名

本文通过实例对比了os.walk()与os.listdir()两个Python内置函数的区别。os.walk()能够递归地遍历指定目录及其子目录下的所有文件和文件夹,而os.listdir()仅列出指定目录的一级文件及文件夹。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

os.walk() 返回的是generator
os.listdir() 返回的是list

import os         
file_dir = r"D:\\code\\1"
i = 1
a = os.walk(file_dir)
b = None
for root, dirs, files in os.walk(file_dir):  
    print(i)
    i += 1
    print(root) #当前目录路径  
    print(dirs) #当前路径下所有子目录  
    print(files) #当前路径下所有非目录子文件 
print(b)

会递归将目录下每个文件夹的内容都输出
输出

1
D:\code\1
[‘123’, ‘234’]
[‘flash_back_binlog.000000002’, ‘flash_back_binlog.000000003’, ‘flash_back_binlog.000001’]
2
D:\code\1\123
[‘123_1’]
[‘flash_back_binlog.000000001’, ‘flash_back_binlog.000000002’]
3
D:\code\1\123\123_1
[]
[‘flash_back_binlog.000000001’, ‘flash_back_binlog.000000002’]
4
D:\code\1\234
[‘234_1’]
[‘flash_back_binlog.000000001’, ‘flash_back_binlog.000000002’]
5
D:\code\1\234\234_1
[]
[‘flash_back_binlog.000000001’, ‘flash_back_binlog.000000002’]
None

import os  
path = r"D:\\code\\1"
print(os.listdir(path))

只会将当前层的文件盒文件夹输出

输出
[‘123’, ‘234’, ‘flash_back_binlog.000000002’, ‘flash_back_binlog.000000003’, ‘flash_back_binlog.000001’]

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值