一、os.walk()
函数声明:os.walk(top,topdown=True,οnerrοr=None)
(3)参数onerror默认值为"None",表示忽略文件遍历时的错误。如果不为空,则提供一个自定义函数提示错误信息后继续遍历或抛出异常中止遍历。
os.walk使用实例:删除某个文件夹(当然可以通过os.listdir的递归调用删除)
#! /usr/bin/env python
#coding=utf-8
import os
def Remove_dir(top_dir):
if os.path.exists(top_dir)==False:
print "not exists"
return
if os.path.isdir(top_dir)==False:
print "not a dir"
return
for dir_path,subpaths,files in os.walk(top_dir,False):
for file in files:
file_path=os.path.join(dir_path,file)
print "delete file:%s" %file_path
os.remove(file_path)
print "delete dir:%s" %dir_path
os.rmdir(dir_path)
#调用
Remove_dir(r"C:\Users\Administrator\Desktop\zrbuN7zRuc")
二、os.path.walk
函数声明:os.path.walk(top,func,arg)
(3)参数arg是传递给回调函数的元组,为回调函数提供处理参数,arg可以为空。回调函数的第1个参数就是用来接收这个传入的元组的。
#! /usr/bin/env python
#coding=utf-8
import os
#回调函数
def find_file(arg,dirname,files):
for file in files:
file_path=os.path.join(dirname,file)
if os.path.isfile(file_path):
print "find file:%s" %file_path
#调用
os.path.walk(r"C:\Users\Administrator\Desktop\4",find_file,())