利用MT Photos生成的重复文件列表,删除重复文件

本文介绍了如何使用Python脚本来查找并处理NAS系统上的重复图片,特别是针对MTPhotosDocker应用。首先,通过MTPhotos获取重复文件信息并保存,然后运行Python脚本将信息转存到Excel表格,最后生成Shell脚本进行批量删除。这种方法对于大量重复图片的管理非常有效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

除了群晖,其他NAS系统的相册应用实在是难以忍受。所以发现了MT Photos,这是在NAS里面一个非常好用的docker相册应用。
但是我们从网上下了大量的图片过后,也会有很多很多重复的图片。
这里说的重复图片,是指大小、尺寸等一摸一样的文件。
如果重复的图片有成千上万张,那么手动删起来是非常有损手腕健康的。
所以写了这个python脚本,用于生成批量删除的shell脚本。


提示:以下是本篇文章正文内容,下面案例可供参考

一、获取重复文件信息

在这里插入图片描述
步骤:
1、到MTPhotos的重复文件查找界面,按F12打开前端调试;
2、再按F5刷新界面,已重新获取重复文件信息:findDuplicateFiles;
3、按照图中这样,将findDuplicateFiles信息保存到文件"MTphotos重复文件.txt"中。
注意:这里要求固定文件名是"MTphotos重复文件.txt"

二、使用步骤

1. 运行“MTphotos重复文件(生成excel).py”

在这里插入图片描述

代码如下:

import platform
import os
import re
import pandas as pd

OS = platform.system()

file=open('MTphotos重复文件.txt', 'r',encoding='UTF-8')

same_file = {
   }

file_info_list = []
line_num = 1

def save_filelist_to_excel(data,excelname):
    sheetname1 = '重复列表'
    sheetname2 = 'Volume映射'

    form_header =['主']
    for i in range(in_group_same_max):
        if i>=1:
            form_header.append('删%d'%i)
    pf1 = pd.DataFrame(columns=form_header)

    x = 0
    for md5 in data:
        n=len(data[md5])
        n = in_group_same_max - n
        for i in range(n):  #要求与标题数量匹配,所以不够的补一下
            data[md5].append('')
        pf1.loc[x] = data[md5]
        x=x+1
    
    #填入docker中的volume映射设置,以便生成shell时,自动替换虚拟路径
    pathmap = \
    [ \
        ['/upload/',       '/volume1/Public/散图/'],                                      \
        ['/COSPLAY/',      '/share/MyArchive1/PRIVATE/PHOTO/[COSPLAY]/'],                 \
        ['/XiuRen秀人网/', '/share/MyArchive1/PRIVATE/PHOTO/[XiuRen秀人网]/'],            \
        ['/非成套/',       '/share/MyArchive1/PRIVATE/PHOTO/[非成套]/'</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值