
原始文件放在rawData文件夹的子文件夹里(注意有子文件夹),通过遍历这个文件夹(包含子文件夹),得到所有的文件名,然后按照输入的日期,把文件名日期符合的文件复制到copyData文件夹根目录下。如图所示,只要输入20230711,就能把文件名带有20230711字符的都复制过去,文件名的日期字符并非一直在那个位置,但是文件名肯定是包含日期的,这个怎么才能做到呢?
import os
import shutil
def copy_files(source_folder, target_folder, search_string):
os.makedirs(target_folder, exist_ok=True)
for r, _, f in os.walk(source_folder):
for fn in f:
if search_string in fn:
sp = os.path.join(r, fn)
tp = os.path.join(target_folder, fn)
shutil.copyfile(sp, tp)
print(f"File copied: {sp} -> {tp}")
search_string = input("请输入要查找的字符串:")
source_folder = input("请输入源文件夹路径:")
target_folder = input("请输入目标文件夹路径:")
copy_files(source_folder, target_folder, search_string)