【发布时间】:2011-08-15 19:52:23
【问题描述】:
我有一个 python 脚本,我一直在拼凑(我第一次尝试 python)。
脚本递归查找 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 文档了吗? docs.python.org/library/os.html#os.walk。确切的解决方案在文档中。
dirnames.remove(".svn") -
刚遇到这里,因为我想删除项目中的所有 .svn 文件,命令 svn export 只是在不需要脚本的情况下执行此操作(在 hg 和 git 中只有一个文件夹您必须删除的项目的根目录)。
-
@S.Lott 感谢您指出文档中的位置;不知道为什么我之前错过了。