我有一个python脚本,我一直在拼凑(我的第一个python搜索之一)。如何在python中递归树时跳过.hg/.git/.svn目录
该脚本递归寻找XCode项目文件的文件夹;该脚本工作正常,但我想适应它跳过任何.svn(或.hg或.git)文件夹,以便它不试图修改源存储库。
下面是递归搜索
for root, dirnames, files in os.walk('.'):
files = [f for f in files if re.search("project\.pbxproj", f)]
for f in files:
filename = os.path.join(root, f)
print "Adjusting BaseSDK for %s" % (filename)
...
,如何排除库子树的脚本?
你看过os.walk文档吗? http://docs.python.org/library/os.html#os.walk。确切的解决方案在文档中。 'dirnames.remove(“。svn”)' – 2011-04-29 22:17:49
刚刚遇到这里,因为我想删除项目中的所有.svn文件,命令[svn export](http://svnbook.red-bean.com/en/ 1.5/svn.ref.svn.c.export.html)只是在不需要脚本的情况下执行此操作(在hg&git中,项目的根目录中只有一个文件夹需要删除)。 – moritz 2011-04-29 23:06:04
@ S.Lott感谢您指出文档中的位置;不知道为什么我错过了它。 – 2011-04-30 19:57:51