在Python中更改文件夹名称

Pet*_*ter 2 python

我需要一个超级简单的脚本来更改实际文件夹的子文件夹的名称

这是一个更好理解的小例子.
我在文件夹My Music中,我想更改所有子文件夹的名称(This_Is_A_Example_Subpath):

C:/ My Music/This_Is_A_Example_- Subpath
C:/ My Music/This_Is_A_Example_- Subpath1
C:/ My Music/This_Is_A_Example_- Subpath2

我想改为:

C:/我的音乐/这是 - 一个例子 - 子路径
C:/我的音乐/这是 - 一个例子 - 子路径1
C:/我的音乐/这是 - 一个例子 - 子路径2

Chr*_*rle 7

import os
import os.path

for (dirpath, dirnames, filenames) in os.walk('C:/My Music/'):
    for idx in range(len(dirnames)):
        newname = dirnames[idx].replace('_', ' ')
        os.rename(os.path.join(dirpath, dirnames[idx]), os.path.join(dirpath, newname))
        dirnames[idx] = newname
Run Code Online (Sandbox Code Playgroud)

这里有点解释.这将遍历所有子目录os.walk.但是,由于您在遍历树时更改了目录的名称,因此需要更新它将要遍历的目录名称.所以这(1)重命名目录,(2)更新列表,以便它遍历新命名的目录.