我在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'
您可以看到日期变量获取日期。 (当我将它打印到屏幕上时,我会看到日期)
问题是什么,如何解决?
谢谢!
答案 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")