如何使用新文件名中的日期复制图像?

时间:2012-08-19 11:51:58

标签: python linux image

我正在寻找一种使用Python从给定来源复制图像文件的方法。

我确实在互联网上阅读了几个东西,但我发现它总是在一个特定的平台上工作。我想知道Python中是否存在可以轻松复制图像文件的功能?

我的目标是最终实现这一目标:

  1. 夹/ image_title.jpg
  2. 复制图片
  3. new_folder / new_image_title.jpg
  4. * new_image_title *是当天的日期。

    我的代码目前看起来像这样:

    import shutil
    import datetime
    
    shutil.copy('folder/alpha.jpg', 'new_folder/'datetime.date()'.jpg')
    

    但是我收到错误: SyntaxError:语法无效

4 个答案:

答案 0 :(得分:3)

<强>更新

您可能想要第二个参数的简单字符串:

而不是:

shutil.copy('folder/alpha.jpg', 'new_folder/'datetime.date()'.jpg')

尝试:

dest = new_folder + '/' + str(datetime.date(2012, 8, 19)) + '.jpg'
shutil.copy('folder/alpha.jpg', dest)

使用:

new_folder = 'bla'

dest变为:

    'bla/2012-08-19.jpg'

根据需要调整以使名称唯一(添加时间戳?)。另请注意,使用os.path.join()创建新路径通常会更好。

答案 1 :(得分:0)

您收到SyntaxError,因为您的字符串形成语法不正确。更正了,代码如下所示:

import shutil
import datetime
import os

DATE_FORMAT = '%Y-%m-%d'

filename = 'folder/alpha.jpg'
target_folder = 'new_folder'

ext = os.path.splitext(filename)[1]

shutil.copy(filename,
            os.path.join(target_folder, '%s%s'
                         % (datetime.datetime.now().strftime(DATE_FORMAT), ext))

答案 2 :(得分:0)

安装exiftool

并在照片路径中运行命令:

  

exiftool -d“./%Y-%m-%d”“ - 目录

答案 3 :(得分:-1)

我已经完成了,谢谢你:) 所以这是我的最终版本,以防它可以帮助其他人:     

import shutil
import datetime

now = datetime.datetime.now()
date=str(now.year)+'-'+str(now.month)+'-'+str(now.day)

new_folder = "source/new_folder"
dest = new_folder + '/' + str(date) + '.jpg'
shutil.copy('source/alpha.jpg', dest)

最后一件事:目前,程序运行时没有说什么。那么有谁知道如何打印一条消息,说明复制是否有效?