在Python中更改文件夹名称

时间:2011-06-04 22:31:06

标签: python

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

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

C:/我的音乐/ This_Is_A_Example_-子路径
C:/我的音乐/ This_Is_A_Example_- Subpath1
C:/我的音乐/ This_Is_A_Example_- Subpath2

我想改为:

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

1 个答案:

答案 0 :(得分: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

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