исключить .svn папки.

У меня есть сценарий, который я хочу использовать для изменения повторяющейся строки в структуре папок проекта. После изменения я могу проверить это на 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" 

2 Solutions collect form web for “исключить .svn папки.”

Попробуй это:

 for root, subFolders, files in os.walk(rootdir): if '.svn' in subFolders: subFolders.remove('.svn') 

И затем продолжить обработку.

Эрр … что?

Когда превышение равно True, вызывающий может изменить список имен dirnames на месте (возможно, используя назначение del или slice), а walk () будет только перезаписывать в подкаталоги, имена которых остаются в dirnames; это можно использовать для обрезки поиска, введения определенного порядка посещения или даже для информирования walk () о каталогах, которые вызывающий создает или переименовывает, прежде чем он снова возобновит walk ().

 for root, subFolders, files in os.walk(rootdir): try: subFolders.remove('.svn') except ValueError: pass dosomestuff() 
  • Почему zip () удаляет значения моего генератора?
  • как создать случайный массив из списка, каждое значение в массиве не дублируется в python
  • Необходима помощь в интернационализации приложений Google App (Python)
  • как вернуть все memcached значения в Google App Engine?
  • Пирамида с несколькими персонажами не работает
  • Как перенаправить вывод «print» в файл с помощью python?
  • Перевертывание изображения по вертикальной оси в питоне
  • Ярлык для if __name__ == '__main__':
  • Python - лучший язык программирования в мире.