美人鱼7号

导航

 
import os

for root,dirs,files in os.walk("F:\Work\\2018\\1011-FIX\Release"):#坑1
    for name in dirs:
        #print name
        if "test_fix" in str(name):
            path = os.path.join(root,name)
            #print path
            for root1,dirs1,files1 in os.walk(path):#坑2
                for file in files1:
                    #print file
                    if file not in ('FIX42.ini','Test_Fix.exe'):
                        path1=os.path.join(path,file)
                        #print path1
                        os.remove(path1)#坑3
        else:
            continue

 

  一个简单的查找指定目录下的某些文件并删除的程序,第一个坑是目录的名字,之前数字2018前后只有一个反斜杠时始终没法遍历出内容,貌似无法识别,这里有点不是很明白,难道纯数字命名的目录和包含特殊字符的目录python无法识别吗?第二个坑是循环子目录时,root、dirs、files一开始用了和上层循环一样的名字,导致后面始终只得到了一个子目录下的文件,其他子目录的文件都拿不到,将每个名字后面加了个1后终于才得到;第三个坑是一开始直接使用的os.remove(file),导致一值报错WindowsError:[Error 2] ,百度了一下发现是不存在这个文件,想了一下删除应该是要用绝对路径的,最后终于删除成功了。

  附带一下别的地方转来的报错信息

  WindowsError:[Error 2] 不存在这个文件

  WindowsError:[Error 3] 没有这个路径

  WindowsError:[Error 5] 权限问题

  WindowsError:[Error 13] 该文档被其它程序占用,处理不了

  WindowsError:[Error 123] 路径语法有误

  WindowsError:[Error 145] 目录非空,多在删除非空目录时出现

  参考文章: 
  http://blog.csdn.net/u010189918/article/details/21093443

  仅此记录一下菜鸟的自我学习中的采坑之路

posted on 2018-08-01 10:41  美人鱼7号  阅读(134)  评论(0)    收藏  举报