python下递归遍历目录和文件

本文介绍了如何在Python中使用os.walk()函数递归遍历目录和文件。os.walk()生成器以(dirpath, dirnames, filenames)的形式返回目录路径、子目录名列表和文件名列表。此外,还讨论了递归实现反向输出文件的方法。" 81216000,7886033,HTTPS证书安装全攻略,"['HTTPS', 'SSL/TLS', '服务器配置', '网站安全']

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

方法一:递归调用:

#!/usr/bin/python
#coding:utf8

import os

def dirlist(path, allfile):
	filelist =  os.listdir(path)

	for filename in filelist:
		filepath = os.path.join(path, filename)
		if os.path.isdir(filepath):
			dirlist(filepath, allfile)
		else:
			allfile.append(filepath)
	return allfile

print dirlist("/home/yuan/testdir", [])	

方法二:

os.walk()

该函数式穿件一个生成器对象来遍历整棵目录树。
top指定目录的顶级,而topdown是一个布尔值,用于指示由上而下(默认值)还是由下而上来遍历目录。返回的生成器将生成元组(dirpath,dirnames,filenames),其中dirpath是一个字符串,包含通向目录的路径,dirnames是dirpath中所有子目录的一个列表,而filename是dirpath中文件的一个列表,不包括目录。oneerror参数是一个接受单个参数的函数。
         如果处理期间出现任何错误,将使用os.error的是咧来调用此函数。默认行为时忽略错误。如果由上而下地遍历目录,修改dirnames将影响到遍历过程。

#!/user/bin/python
#!conding=utf8

import os
g = os.walk("/home/yuan/testdir")


for path,d,filelist in g:
	print d;
	for filename in filelist:
		print os.path.join(path, filename)


递归实现文件反向输出:

#!user/bin/python
fr = open('aa.txt','r')
fw = open('b.txt', 'w+')

def restr(s):                 #递归实现函数
	str1 = s.readline()     
	if len(str1) != 0:
		restr(s)
	fw.write(str1)

restr(fr)	
fr.close()
fw.close()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值