qq_58568325 2021-05-24 16: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)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥20 怎么在stm32门禁成品上增加记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 解riccati方程组