从指定的多个多层文件夹中复制文件
import os.path
import shutil
def each_file(filepath, new_filepath):
'''
读取每个文件夹,将遇到的指定文件统统转移到指定目录中
:param filepath: 想要获取的文件的目录
:param new_filepath: 想要转移的指定目录
:return:
'''
l_dir = os.listdir(filepath) # 读取目录下的文件或文件夹
Path='/MNINonLinear/Results/tfMRI_EMOTION_LR/'
name = 'tfMRI_EMOTION_LR_Atlas_MSMAll.dtseries.nii'#我要复制的文件名字均相同,有多个,
for one_dir in l_dir[:]: # 进行循环
num = os.listdir(filepath+one_dir)
for one in num[:1]:
print(one)
#源文件地址
path = os.path.join ('%s%s/%s%s%s' % (filepath,one_dir,one,Path,name))
print(path)
#print(full_path)
#要生成的文件名称 one是为了我自己区分的,因为我每个nii格式的文件名称一样
new_full_path = os.path.join('%s/%s_%s' % (new_filepath, one,name))
print(new_full_path)
try:
shutil.copy(path, new_full_path) # 这个是转移的语句,最关键的一句
except WindowsError:
pass
if __name__ == '__main__':
old_path = r'H:/DATA/EMOTION/'
new_path = r'H:/DATA/only_nii'
each_file(old_path, new_path)
要复制的一个文件归属如下:
总的文件夹列表为: