我有一個曾經在SVN下的項目,但現在我將它移動到Mercurial,所以我想清除所有.svn文件。Python:用小腳本刪除文件的問題
手工操作有點太大,所以我決定寫一個python腳本來完成它。但它不起作用。
def cleandir(dir_path):
print "Cleaning %s\n" % dir_path
toDelete = []
files = os.listdir(dir_path)
for filedir in files:
print "considering %s" % filedir
# continue
if filedir == '.' or filedir == '..':
print "skipping %s" % filedir
continue
path = dir_path + os.sep + filedir
if os.path.isdir(path):
cleandir(path)
else:
print "not dir: %s" % path
if 'svn' in filedir:
toDelete.append(path)
print "Files to be deleted:"
for candidate in toDelete:
print candidate
print "Delete all? [y|n]"
choice = raw_input()
if choice == 'y':
for filedir in toDelete:
if os.path.isdir(filedir):
os.rmdir(filedir)
else:
os.unlink(filedir)
exit()
if __name__ == "__main__":
cleandir(dir)
打印語句顯示它只是「考慮」名稱以「。」開頭的文件管理器。但是,如果我取消對continue
聲明的註釋,則所有文件管理器都將被「考慮」。爲什麼是這樣?
還是有一些其他實用程序已經存在遞歸去SVN - 如果目錄樹?
哦謝謝我不知道這個功能存在。 – 2010-06-11 02:50:21
解決了這個問題,但我不明白爲什麼。 – 2010-06-11 03:02:50