将文件夹中的所有子文件夹的文件移动到另一个文件夹的子文件夹的子文件夹中
path 是原来的文件夹地址,new_path 是移动到这个文件夹的地址。根据文件夹的特性,写下如下的python代码进行移动。并且待移动文件夹的子文件夹中的文件名有相同的名字,所以移动后需要考虑重命名,根据两个遍历进行重命名。
文件夹的结构:
代码:
import os
import shutil
path = r'Y:\jxx\data\vox1_test1'
new_path = r'Y:\jxx\data\vox_test'
idfiles=os.listdir(path)
name=[]
for idfile in idfiles:
idfilepanth = os.path.join(path,idfile)
luanfiles = os.listdir(idfilepanth)
luanfiles.sort()
print(idfile)
for i,luanfile in enumerate(luanfiles):
wavfilepath = os.path.join(idfilepanth,luanfile)
wavs = os.listdir(wavfilepath)
print(luanfile)
for j,wav in enumerate(wavs):
wavpath = os.path.join(wavfilepath,wav)
shutil.move(wavpath, os.path.join(new_path,idfile,'audio',str(i)+'_'+str(j)+'.wav'))
print(wav)
print('完成!')
最终需要你根据自己文件夹的结构进行一部分的修改。