2014-02-26 58 views
0

我想使用当前日期作为文件的名称,但它似乎无法完成或我做错了什么。我之前使用一个变量作为文件的名称,但这似乎不起作用。文件或目录不存在

这是我的尝试:

import time 

d = time.strftime("%d/%m/%Y") 

with open(d +".txt", "a+") as f: 

    f.write("") 

这只是看它是否创建该文件。正如你所看到的,我尝试了a+,因为我读过的文件创建的文件如果不存在,我仍然得到相同的错误。

回答

3

的问题是你如何使用日期:

d = time.strftime("%d/%m/%Y") 

你不能在一个文件名/,因为这是一个目录来代替。你还没有制作目录。尝试使用连字符来代替:

d = time.strftime("%d-%m-%Y") 

你几乎肯定不希望创建目录结构中的日/月/年,所以我想这不是你打算什么。

+1

“%Y-%m-%d”会正确排序;它通常是一个更好的选择。 –

+0

现在我想到了,你是对的。 – Jcorretjer

1

您的文件名中包含目录分隔符(/),并且在尝试打开文件时不会为您创建这些目录。目前的工作路径中没有26/目录或26/02/目录。

你要么必须创建通过其他方式这些目录,或者如果你没有意思的一天,一个月是目录,改变你的斜线到一个不同的分隔符:

d = time.strftime("%d-%m-%Y") 
相关问题