我需要一个超级简单的脚本来更改实际文件夹的子文件夹的名称
这是一个更好理解的小例子.
我在文件夹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
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)更新列表,以便它遍历新命名的目录.