python之os.walk(’path’)

来源:互联网 发布:淘宝网店铺转让协议 编辑:程序博客网 时间:2024/05/17 00:53

os.walk(’path’),该函数返回一个列表,列表的每个元素是一个三元组,三元组里第一个元素是path下的目录(包括path),第二个元素为该目录下的所有目录名列表,第三个元素为该目录下所有文件名的列表。

该函数不会返回目录”.”和”..”

看到网上有删除.cvs目录的代码,自己也写了一个删除.svn的脚本:

 

#!/usr/bin/python
import os, sys, shutil;
 
def remove_svn(path):
for root,dirs,files in os.walk(path):
for dir in dirs:
if dir == ".svn":
shutil.rmtree(os.path.join(root,dir))
 
if len(sys.argv) <= 1:
print "usage: ./remove_svn path"
else:
remove_svn(sys.argv[1])

以上功能中值得说明的其他几个函数:
1. shutil.rmtree(path)这个函数删除非空目录,它和os.rmdir(path)的区别在于os.rmdir只能删除空目录
2. os.path.join(path1, path2),该函数将两个路径合成一个路径,第一个路径path1是第二个路径path2的父目录
3. sys.argv是命令行参数列表,第一个参数默认为程序名,第二个开始才是真正的参数

 

原创粉丝点击