gpt4 book ai didi

Python - 使用 os.walk() 递归目录命中

转载 作者:行者123 更新时间:2023-12-01 05:29:40 24 4
gpt4 key购买 nike

我正在编写一个程序,通过取出某种模式来重命名文件和目录。我的重命名功能适用于文件,因为 os.walk() 的目标是所有文件,但不适用于目录

for root, dirs, files in os.walk(path):               # Listing the files
for i, foldername in enumerate(dirs):
output = foldername.replace(pattern, "") # Taking out pattern
if output != foldername:
os.rename( # Renaming
os.path.join(path, foldername),
os.path.join(path, output))
else:
pass

有人可以建议一个针对所有目录而不仅仅是一级目录的解决方案吗?

最佳答案

在 os.walk 中设置 topdown=False 就可以了

for root, dirs, files in os.walk(path, topdown=False):  # Listing the files
for i, name in enumerate(dirs):
output = name.replace(pattern, "") # Taking out pattern
if output != name:
os.rename( # Renaming
os.path.join(root, name),
os.path.join(root, output))
else:
pass

感谢J.F Sebastian !

关于Python - 使用 os.walk() 递归目录命中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20534758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com