我有一个像这样的目录:
我遇到了一个问题,使用这个函数时: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}计划
后,整个目录已被更改。即已变为:
因此,似乎 for ... in walk(src):
停止运行。请注意,循环正在正确运行;我可以打印出每个目录并获得结果:
for subdir, dirs, files in walk(src):
print subdir
产生...
我的Python知识有限,我猜测是因为目录已更改,这会导致walk(src)
出现异常,从而导致循环停止。
如何解决此问题以递归遍历目录并重命名所有包含{project_name}
的目录?
非常感谢:)
topdown=True
没有起作用。你会建议我如何使用递归来遍历目录? - dunck