获取日期并将其保存为文件名python

时间:2013-12-05 08:28:23

标签: python date save

我在python中有一些图表。

最后我将绘图保存到png文件中。 这是代码:

plt.scatter(LuxCoordinates, finalPix, linewidths=1)
plt.sca
plt.grid(axis)
plt.xlabel('Ambient', color='r');
plt.ylabel('Depth Grows', color='r'); # grayscale color
plt.title(PngName, color='b');
savefig(PngName+'.png'); #PngName is the name of the file that the user gives in argv

这项工作很好,它保存了一个文件,名称为PngName.png(其中PngName是用户决定的)

现在我想将该名称添加到当前日期。 我试过这样做:

date = time.strftime("%d/%m/%Y")
plt.scatter(LuxCoordinates, finalPix, linewidths=1)
plt.sca
plt.grid(axis)
plt.xlabel('Ambient', color='r');
plt.ylabel('Depth Grows', color='r'); # grayscale color
plt.title(PngName, color='b');
savefig(PngName+'_'+date+'.png')

但它没有用,我收到此错误消息:

  

filename_or_obj = open(filename_or_obj,'wb')   IOError:[Errno 2]没有这样的文件或目录:'05 / 12/2013.png'

您可以看到日期变量获取日期。 (当我将它打印到屏幕上时,我会看到日期)

问题是什么,如何解决?

谢谢!

2 个答案:

答案 0 :(得分:4)

您的文件名05/12/2013.png包含斜杠(/),这些可能是您操作系统上的路径名分隔符。换句话说,您尝试写入的文件名是2013.png目录12下的目录05。如果那不是您想要的,那么请考虑将您的文件名格式更改为time.strftime("%Y-%m-%d")或其他任何不带斜线的内容。

答案 1 :(得分:0)

对 Darren Stone 给出的答案稍加补充:

# Time stamp with date and time
time.strftime("%Y-%m-%d %H%M%S")

# save plot
savefig("Figure "+ time.strftime("%Y-%m-%d %H%M%S") + ".png")