我有一个脚本,我想用它来改变整个项目文件夹结构中的重复字符串.一旦更改,我可以检查到SVN.但是,当我运行我的脚本时,它进入.svn文件夹,我希望它进入.我怎样才能做到这一点?代码如下,谢谢.
import os
import sys
replacement = "newString"
toReplace = "oldString"
rootdir = "pathToProject"
for root, subFolders, files in os.walk(rootdir):
print subFolders
if not ".svn" in subFolders:
for file in files:
fileParts = file.split('.')
if len(fileParts) > 1:
if not fileParts[len(fileParts)-1] in ["dll", "suo"]:
fpath = os.path.join(root, file)
with open(fpath) as f:
s = f.read()
s = s.replace(toReplace, replacement)
with open(fpath, "w") as f:
f.write(s)
print "DONE"
Run Code Online (Sandbox Code Playgroud)
use*_*312 30
试试这个:
for root, subFolders, files in os.walk(rootdir):
if '.svn' in subFolders:
subFolders.remove('.svn')
Run Code Online (Sandbox Code Playgroud)
然后继续处理.
当topdown为True时,调用者可以就地修改dirnames列表(可能使用del或slice赋值),而walk()只会递归到名称保留在dirnames中的子目录中; 这可用于修剪搜索,强制执行特定的访问顺序,甚至可以告诉walk()有关调用者在再次恢复walk()之前创建或重命名的目录.
for root, subFolders, files in os.walk(rootdir):
try:
subFolders.remove('.svn')
except ValueError:
pass
dosomestuff()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11516 次 |
| 最近记录: |