求助文件名删除指定文件

最近手机更新安卓11手机文件夹无法访问date目录,导致我的图片无法在手机相册看到(´゚Д゚`),只能复制到date文件夹以外保存,然后就有重复文件的问题了,比如说美图.jpg  美图.(1).jpg

这样的情况,我想用Python对比然后我只想删除美图.(1).jpg(很简单我知道)

 

但我一个操作就复杂化了,因为我自己手动删除的时候删掉了一部分美图.jpg    反而留下来    美图.(1).jpg

现在我想问问可不可以对比美图.jpg  美图.(1).jpg

假如有美图.jpg且有美图.(1).jpg则删除美图.(1).jpg

只有美图.jpg 或美图.(1).jpg则不删除


查找所有的xxx(1).jpg,找到一张,就查找对应名字不带(1)的文件,如果存在就删除xxx(1).jpg,不存在就直接将xxx(1).jpg重命名为xxx.jpg

 

或者:计算每张图片的hash值,并创建空列表,如果下一张图片在列表中则删除,不在的话则加入列表

import os
import re

path = r"E:/xxx" #目录路径
FileNames=os.listdir(path)
for fn in FileNames:
    if re.search(r'\.\(\d+\)\.jpg',fn):
        ffn=os.path.join(path,fn)
        refn = re.sub(r'\.\(\d+\)','',fn)
        ffn2=os.path.join(path,refn)
        if refn in FileNames:
            print("删除",fn)
            os.remove(ffn)
        else:
            print(fn,"改名为",refn)
            os.rename(ffn,ffn2)

 

import os
import re
'''获取指定文件夹下所有指定后缀名的文件的绝对路径'''
def get_files_path(file_dir, doc_type='.json'):
    files_path=[]
    for root, dirs, files in os.walk(file_dir):
        for file in files:
            if os.path.splitext(file)[1] == doc_type:
                files_path.append(os.path.join(root, file))
    return files_path

上面函数得到指定文件夹下的所有.json文件的绝对路径,后面的你自己写吧,删除文件应该不难

import os
import re
'''获取指定文件夹下所有指定后缀名的文件的绝对路径'''
def get_files_path(file_dir, doc_type='.json'):
    files_path=[]
    for root, dirs, files in os.walk(file_dir):
        for file in files:
            if os.path.splitext(file)[1] == doc_type:
                files_path.append(os.path.join(root, file))
    return files_path

上面函数得到指定文件夹下的所有.json文件的绝对路径,后面的你自己写吧,删除文件应该不难

import os

path = r"C:\Users\46045\Desktop\删除测试"
files = os.listdir(path)

for file in files:
    print(file)

i = 0

for file in files:
    old = path + os.sep + files[i]
    new = path + os.sep + file.replace(' .(1)', '')
    # os.rename(name, 'wang' + str(test_id) + '.jpg')
    os.path.isfile(new)
    os.rename(old, new)

    print('************************fenge*********************',file)
    i += 1

我先弄了一个更改名字的方法

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632