qq_58568325 2021-05-24 08:24 采纳率: 33.3%
浏览 71
已采纳

求助文件名删除指定文件

最近手机更新安卓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值,并创建空列表,如果下一张图片在列表中则删除,不在的话则加入列表

  • 写回答

5条回答 默认 最新

  • 关注
    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)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    qq_58568325 2021-05-25 08:09

    我想问问re.search(r'\.\(\d+\)\.jpg',fn)这一部分填写的格式是什么?

    回复
    CSDN专家-天际的海浪 回复 qq_58568325 2021-05-25 08:55

    这是正则表达式,用于检测文件名中是否有 “.(数字).jpg”这样的内容。

    回复
    qq_58568325 回复 CSDN专家-天际的海浪 2021-05-25 09:27

    ooo,非常感谢调用了后都正常运行了

    回复
查看更多回答(4条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部