如何将文件保存到特定目录并在python中选择文件的名称?

时间:2016-08-10 20:52:05

标签: python image file save

正如标题所说,我如何将文件(在这种情况下是先前选择的照片)保存到特定目录中,并命名保存的文件(我想用今天的日期命名 - 例如:01 -01-2016.jpg)?

这是我的一些代码:

import os.path
import datetime
todays_date = datetime.date.today ()

def add_pic (pic):

    if not os.path.exists ("Pictures"):
        os.makedirs ("Pictures")
    photo_name = todays_date + ".jpg"
    pic.save ("Pictures/"photo_name)

我收到此错误:

TypeError: unsupported operand type(s) for +: 'datetime.date' and 'str'

这一行:

photo_name = todays_date + ".jpg"

另外,我也不确定最后一行,所以请帮忙!

3 个答案:

答案 0 :(得分:1)

使用.strftime()“将表示gmtime()或localtime()返回的时间的元组或struct_time转换为format参数指定的字符串。”:

photo_name = todays_date.strftime('%m-%d-%Y') + ".jpg"
pic.save(os.path.join("Pictures",photo_name))

还可以使用os.path.join()作为将目录连接到文件名的跨平台方法。

正如@Blckknght在评论中所说:请注意'%m-%d-%Y'是您可以更改订单的内容,例如'%Y-%m-%d'是一种常见的变体。

答案 1 :(得分:0)

是的。上面的解决方案应该有效。明白你正在做的是用字符串添加时间值。

答案 2 :(得分:0)

这不起作用,因为datetime.date.today()返回日期对象。尝试通过调用.__str__()方法,.ctime()方法或.strftime()方法转换为字符串。
请参阅https://docs.python.org/2/library/datetime.html#date-objects