OSError:[Errno 22]打开文件时参数无效

时间:2019-09-15 04:35:08

标签: python datetime

我正在尝试打开一个名称为日期和时间的文件,格式为dd-mm-yy hh:mm:ss。 这样做:

from datetime import datetime
timestr = datetime.now().strftime("%d-%m-%y %H:%M:%S")
print(timestr)
f = open(timestr, "w+")
f.close()

总是导致此错误:

C:\Users\keona\Documents\Py>timetest.py
14-09-19 21:28:19
Traceback (most recent call last):
  File "C:\Users\keona\Documents\Py\timetest.py", line 4, in <module>
    f = open(timestr, "w+")
OSError: [Errno 22] Invalid argument: '14-09-19 21:28:19'

但是,由于某种原因,当我离开秒表时,代码可以正常工作吗?

from datetime import datetime
timestr = datetime.now().strftime("%d-%m-%y %H:%M")
print(timestr)
f = open(timestr, "w+")
f.close()

这将导致一个仅以此命名的文件:

14-09-19 21

关于为什么会发生这种情况的任何建议或想法吗?

1 个答案:

答案 0 :(得分:1)

我想说这可能是因为:是Windows文件名中的无效字符。

尝试使用strftime("%d-%m-%y %H-%M-%S")