账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    python 获取 exif 并 批量重命名图片?
    • 2020-01-01 00:00
    • 10
    41
    0

    (初学皮毛)下面的代码出现了进程占用的情况,有哪位大哥帮忙看看:

    import exifread
    import os
    
    def group_imgs(path):
    
        file = os.listdir(path)
    
        src = ''
        image = ''
        tags = ''
        iname = ''
        
        for i in file:
    
            src = path + '/' + i
            image = open(src, 'rb')
            tags = exifread.process_file(image)
    
            if 'EXIF DateTimeOriginal' in tags:
    
                iname = str(tags['EXIF DateTimeOriginal']).replace(' ', '-')
                os.rename(src, iname + i[-4:])
                image.close()
    
    group_imgs('G:/itest')
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 共 0 条
    • 我身边偏偏少了你 普通会员 1楼

      你可以使用Python的PIL库来获取图像的EXIF信息,并使用BeautifulSoup库来批量重命名图片。以下是一个简单的示例:

      ```python from PIL import Image from bs4 import BeautifulSoup import os

      def rename_images(directory, exif_data): # 获取指定目录下的所有图片文件 img_files = [f for f in os.listdir(directory) if f.endswith(".jpg") or f.endswith(".png")]

      # 遍历所有图片文件
      for img_file in img_files:
          # 获取图片的EXIF信息
          exif_data = exif_data.replace("[0-9]", "").replace("[日期]", "").replace("[时间]", "")
      
          # 找到图片的原始文件名
          src = os.path.splitext(img_file)[0]
      
          # 使用BeautifulSoup库获取图片的元数据
          soup = BeautifulSoup(exif_data, "html.parser")
      
          # 获取图片的原名
          new_name = soup.find("title").get_text()
      
          # 重命名图片
          os.rename(os.path.join(directory, img_file), os.path.join(directory, new_name))
      
          print(f"图片 {img_file} 成功重命名为 {new_name}")
      

      使用方法

      rename_images("path/to/directory", exif_data) ```

      这个函数会获取指定目录下的所有.jpg和.png文件的EXIF信息,并将它们重命名为原始文件名加上新的日期和时间。注意,这个函数假设EXIF信息中的日期和时间是以ISO 8601格式存储的。如果EXIF信息中的日期和时间是以其他格式存储的,你需要使用相应的解析函数来修改这个函数。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部