#python批量查找文件并以变量重新命名复制到新文件夹##求助#
已知条件:
变量I=10 20 30 40,变量D=1 2 3 4
D盘下名为“运行结果”的文件夹,其中包含多个以变量I、D命名的子文件夹(结果I-D),如下:结果10-1,结果10-2,……,结果40-3,结果40-4
每一个“结果I-D”子文件夹下的子文件中包含一同名文件results.asc,其存在的路径为 D:\结果I-D\data\ascfile\results.asc
需要完成的处理是:
1.在每一个“结果I-D”文件夹中(或者其存在的文件夹路径“D:\结果I-D\data\ascfile”中)查找名为results.asc的asc文件
2.以resultsI-D.asc为该asc文件重新命名,其中I、D与主文件夹“结果I-D”相对应
3.将重命名的asc文件全部复制到以下路径中:D:\asc结果汇总
用Python的os和shutil库来完成此任务。以下是一个可能的代码实现:
import os
import shutil
# 定义变量I和D
I = ['10', '20', '30', '40']
D = ['1', '2', '3', '4']
# 遍历每一个结果文件夹
for i in I:
for d in D:
folder_name = f'结果{i}-{d}'
folder_path = os.path.join('D:', folder_name, 'data', 'ascfile')
# 在结果文件夹中查找结果文件
for file_name in os.listdir(folder_path):
if file_name == 'results.asc':
# 重命名文件
new_file_name = f'results{i}-{d}.asc'
old_file_path = os.path.join(folder_path, file_name)
new_file_path = os.path.join('D:', 'asc结果汇总', new_file_name)
# 复制文件到汇总文件夹中
shutil.copyfile(old_file_path, new_file_path)