如何在树中行走时忽略特定文件?

时间:2015-02-26 14:59:59

标签: python python-2.7 filenames os.path

我想在使用os.walk(path)来覆盖目录中的subTree时忽略特定文件。

但由于某种原因,我不希望解析一些文件。例如包含大量文档的.git文件。我怎么能这样做?

 file_to_ignore = '.git'
 for dirname, dirnames, filenames in os.walk(path):
     for filename in filenames:
         if filename == file_to_ignore: continue
         else: 
              #do somthing

1 个答案:

答案 0 :(得分:0)

使用os模块通过os.path.splitext()方法获取文件扩展名。

如果我们想添加更多忽略扩展名

,请创建忽略扩展名列表

E.g。

真实条件:

>>> import os
>>> filename = "abc.git"
>>> ignore = ['.git', ]
>>> os.path.splitext(filename)
('abc', '.git')
>>> os.path.splitext(filename)[1] in ignore
True

错误条件:

>>> os.path.splitext("abc.txt")[1] in ignore
False