Python os.walk 重命名模式中的循环文件夹

Python os.walk looping folders in a pattern to rename

您好,我正在尝试学习 os.walk 模块

提前致谢

目的:重命名 'student folder' 中的所有文件夹 阅读 1, 2 ,3 ,4

问题: 我的代码只成功将第一个文件夹重命名为1,其他保持不变。

for root, sub, files in os.walk(my_dir):
    for x in sub:
        count = 0
        new_name = count + 1
        os.rename(f'{root}/{x}', f'{root}/{new_name}')

您似乎从未增加计数。您也可以完全删除 new_name 变量并执行如下操作:

for root, sub, files in os.walk(my_dir):
    count = 0 
    for x in sub:
        count += 1
        os.rename(f'{root}/{x}', f'{root}/{count}')

每当你实现这样的计数器时,enumerate 通常是更 pythonic 的选项:

for root, sub, files in os.walk(my_dir):
    for count, x in enumerate(sub):
        os.rename(f'{root}/{x}', f'{root}/{count}')