我有一個目錄是這樣的:重命名目錄的遞歸在Python
我遇到的問題是,當使用該功能:
from os import walk
generic_name = "{project_name}"
def rename_project(src):
project_name = raw_input("Name your project: ")
for subdir, dirs, files in walk(src):
rename(subdir, subdir.replace(generic_name, project_name))
在到達第二個文件夾,即{project_name} Planning
的整個目錄已被更改。即成爲:
,因此它出現在for ... in walk(src):
停止運行。請注意,循環工作正常;我可以打印每個目錄和取得的成果:
for subdir, dirs, files in walk(src):
print subdir
產量...
用我有限的Python的知識,我認爲,由於目錄已經改變,這會導致異常到walk(src)
並且意味着循環被終止。
我該如何解決這個問題,遞歸循環遍歷目錄並重命名所有包含{project_name}
的目錄?
很多感謝:)
Settting'自上而下= TRUE;沒有工作。你會如何建議我使用遞歸來遍歷目錄? – discipline
嗯即時通訊只是在自上而下=假的方法,只是一秒;) –
@discipline OK done。它會拋出「OSError:[Errno 16] Device or resource busy」,如果您重命名「。」。至 」。」但它完全有效^^ - d –