递归删除文件或目录:

递归,os.walk

删除目录,shutil.rmtree

 # -*- coding: UTF-8 -*-
import os.path,sys,shutil path = 'H:/test' for root ,dirs ,files in os.walk(path):
print root,dirs,files
for name in dirs:
if name == 'svn':
print name
shutil.rmtree(os.path.join(root,name))
for name in files:
if name=='test.txt':
os.remove(os.path.join(root,name))

python之os.walk()与os.path.walk()

os.walk()
函数声明:walk(top,topdown=True,onerror=None)
1>参数top表示需要遍历的目录树的路径
2>参数topdown的默认值是"True",表示首先返回目录树下的文件,然后在遍历目录树的子目录.Topdown的值为"False"时,则表示先遍历目录树的子目录,
返回子目录下的文件,最后返回根目录下的文件
3>参数onerror的默认值是"None",表示忽略文件遍历时产生的错误.如果不为空,则提供一个自定义函数提示错误信息后继续遍历或抛出异常中止遍历
4>该函数返回一个元组,该元组有3个元素,这3个元素分别表示每次遍历的路径名,目录列表和文件列表
os,walk()实例:

 import os
def VisitDir(path):
for root,dirs,files in os.walk(path):
for filespath in files:
print os.path.join(root,filespath)
if __name__=="__main__":
path="/root"
VisitDir(path)

os.path.walk()
函数声明:walk(top,func,arg)
1>参数top表示需要遍历的目录树的路径
2>参数func表示回调函数,对遍历路径进行处理.所谓回调函数,是作为某个函数的参数使用,当某个时间触发时,程序将调用定义好的回调函数处理某个任务.
回调函数必须提供3个参数:第1个参数为walk()的参数tag,第2个参数表示目录列表,第3个参数表示文件列表
3>参数arg是传递给回调参数func的元组.回调函数的一个参数必须是arg,为回调函数提供处理参数.参数arg可以为空
os.path.walk()实例:

 import os,os.path
def VisitDir(arg,dirname,names):
for filespath in name:
print os.path.join(dirname,filespath)
if __name__=="__main__":
path="/root"
os.path.walk(path,VisitDir,())

os.path.walk()与os.walk()产生的文件名列表并不相同.os.path.walk()产生目录树下的目录路径和文件路径,而os.walk()只产生文件路径 如下面的例程:

 # -*- coding: utf-8 -*-
import os
for root, dirs, files in os.walk('/media/cdrom0'):
open('mycd.cdc', 'a').write("%s %s %s" % (root,dirs,files))

完成的功能是/media/cdrom0下的目录文件写入到mycd.cdc中。

代码解释:

1. 声明是 utf-8 编码文本;

2. 引入了 os 模块;

3. 使用os.walk() 扫描光盘,并返回三个对象;

4. 使用open()打开mycd.cdc 文件对象,并声明成追加模式,逐行记录以上三个对象。

使用os.path.join

 path='f:/testdata/01'

 for root, dirs, files in os.walk(path):
for name in dirs:
print os.path.join(root,name)
for file in files:
print os.path.join(root,name,file)

python-os.walk目录递归的更多相关文章

  1. Python OS 文件/目录方法

    Python OS 文件/目录方法 os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os. ...

  2. Python os.walk文件遍历用法【转】

    python中os.walk是一个简单易用的文件.目录遍历器,可以帮助我们高效的处理文件.目录方面的事情. 1.载入 要使用os.walk,首先要载入该函数 可以使用以下两种方法 import os ...

  3. Python os.walk() 简介

    Table of Contents 1. os.walk目录遍历 1.1. os.walk 1.2. 例子 1.2.1. 测试topdown 1.2.2. 运行时修改遍历目录 2. 参考资料 os.w ...

  4. Python os.walk() 遍历出当前目录下的文件夹和文件

    os.walk目录遍历 os.walk的参数如下: os.walk(top, topdown=True, onerror=None, followlinks=False) 其中: - top是要遍历的 ...

  5. python os.walk处理树状目录结构的文件

    在项目工作中,时常需要用到处理文件的方法,尤其是在windows环境下的树状目录结构 os.walk恰好能完美的处理这种树状目录结构文件,能高效地帮助我们得到我们需要处理的文件 目录结构: Deskt ...

  6. python os.walk()和os.path.walk()

    一.os.walk() 函数声明:os.walk(top,topdown=True,onerror=None) (1)参数top表示需要遍历的顶级目录的路径. (2)参数topdown的默认值是“Tr ...

  7. python os.walk详解

    os模块大全详情 os.walkos.walk方法,主要用来遍历一个目录内各个子目录和子文件. os.walk(top, topdown=True, onerror=None, followlinks ...

  8. Python os.walk文件遍历

    os.walk(top, topdown=True, onerror=None, followlinks=False) 可以得到一个三元tupple(dirpath, dirnames, filena ...

  9. Python os.walk的用法与举例

    os.walk(top, topdown=True, onerror=None, followlinks=False) 可以得到一个三元tupple(dirpath, dirnames, filena ...

随机推荐

  1. SQLServer 在Visual Studio的连接方法

    一.Sql Server 在Visual Studio的连接有两种方法: (1)本地计算机连接; [c#] view plaincopy     string s = "Data Sourc ...

  2. 【转载】Oracle层次查询和分析函数

    摘要 一组连续的数,去掉中间一些数,如何求出剩下的数的区间(即号段)?知道号段的起止,如何求出该号段内所有的数?知道一个大的号段范围和已经取过的号段,如何求出可用的号段?利用Oracle提供的强大的查 ...

  3. spring boot 配置文件提示自定义配置属性

    1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  4. STL:remove和erase区别

    C++ STL中的remove和erase函数曾经让我迷惑,同样都是删除,两者有什么区别呢? vector中的remove的作用是将等于value的元素放到vector的尾部,但并不减少vector的 ...

  5. ObjectQuery查询及方法

    ObjectQuery 类支持对 实体数据模型 (EDM) 执行 LINQ to Entities 和 Entity SQL 查询.ObjectQuery 还实现了一组查询生成器方法,这些方法可用于按 ...

  6. 诡异的XmlSerializer属性字段Specified

    自动生成代码时,往往会为一个字段假设为 * , 生成另一个bool型字段: *Specified: 如: [Serializable] public class A { [XmlElement] pu ...

  7. WinForm TreeView 三种状态

    private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { var node = e.N ...

  8. [C#]Thread Safe Dictionary in .NET 2.0

    using System.Collections.Generic; using System.Threading; namespace CSharpUtilHelpV2 { /// <summa ...

  9. C# 程序关闭和进程关闭

    this.Close();   只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: 2.Application.Exit();  强制所有消息中止, ...

  10. BinaryReader 和BinaryWriter 读写类对象

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...