正如标题所说,我如何将文件(在这种情况下是先前选择的照片)保存到特定目录中,并命名保存的文件(我想用今天的日期命名 - 例如: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"
另外,我也不确定最后一行,所以请帮忙!
答案 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。