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是命令行参数列表,第一个参数默认为程序名,第二个开始才是真正的参数