Automatización de la oficina de Python: guarde archivos por lotes por categoría, no importa cuántos archivos, solo toma un segundo resolver

Preámbulo

Cuando hay demasiados textos o carpetas en nuestra computadora, y a veces queremos encontrar el archivo que buscamos, solo podemos buscar el nombre del archivo. Buscar por nombre, pero solo se encontrarán más archivos buscando, y esto es solo en el caso de muchos archivos.

¿Qué pasa si los nombres de los archivos son básicamente los mismos, solo los números de serie son diferentes? Estoy tan ciego, supongo que aún no lo he encontrado.

Luego, podemos usar Python para clasificar automáticamente los archivos en lotes y guardarlos en carpetas. Cuando los busquemos la próxima vez, podemos encontrarlos fácilmente.

Aquí tomamos más de doscientos archivos mundiales originales como ejemplo.
inserte la descripción de la imagen aquí

Visualización de código

import os
import time
import datetime
import pprint
import shutil
import re

origin_dir = '原始文件/'
target_dir = '目标文件/'
files = os.listdir(origin_dir)

month_compile = re.compile('(20\d\d)([01][0-9])')
print(files)
file_dict = {
    
    }
for file in files:
    if file.endswith('.docx'):
        word_file = os.path.join(origin_dir, file)
        month = month_compile.search(word_file)
        if month:
            month = month.groups()
            # print(month.groups())
            if month[-1] == '00':
                month = re.search('(20\d\d)0([01][0-9])', word_file).groups()
            t1 = '-'.join(month)
            if t1 in file_dict.keys():
                file_dict[t1].append(word_file)
            else:
                file_dict[t1] = [word_file]

pprint.pprint(file_dict)

if not os.path.exists(target_dir):
    os.mkdir(target_dir)
# 移动文件
for key in file_dict.keys():
    # 创建文件的月份
    new_file_dir = os.path.join(target_dir, key)
    if not os.path.exists(new_file_dir):
        os.mkdir(new_file_dir)
    for file in file_dict[key]:
        # 获取文件名
        new_file_name = os.path.basename(file)
        # 合并新的文件路径
        new_file_path = os.path.join(new_file_dir, new_file_name)
        print(new_file_name)
        shutil.copyfile(file, new_file_path)

Mostrar resultados

Aquí tomamos la clasificación por mes como ejemplo y automáticamente creamos carpetas para la clasificación.
inserte la descripción de la imagen aquí
Miren, es mucho más fácil de encontrar,
inserte la descripción de la imagen aquí
hermanos, pruébenlo.

Supongo que te gusta

Origin blog.csdn.net/fei347795790/article/details/124348197
Recomendado
Clasificación