Py从文件夹下复制带有日期字符的文件

img


原始文件放在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)