无法在Python中的open()中传递包含当前日期和时间的字符串

无法在Python中的open()中传递包含当前日期和时间的字符串,python,file,datetime,Python,File,Datetime,我正在尝试创建一个文件,其名称包含创建时的当前日期和时间 但是在将字符串传递给open()函数时,它给了我无效的参数错误 以下是我尝试过的代码: import os, time from datetime import datetime # fname='Portals Statuses at '+datetime.now().strftime('%Y-%b-%d %H:%M:%S')+'.txt' # fname="Portals Statuses at "+time.strftime('%Y

我正在尝试创建一个文件,其名称包含创建时的当前日期和时间

但是在将字符串传递给open()函数时,它给了我无效的参数错误

以下是我尝试过的代码:

import os, time
from datetime import datetime
# fname='Portals Statuses at '+datetime.now().strftime('%Y-%b-%d %H:%M:%S')+'.txt'
# fname="Portals Statuses at "+time.strftime('%Y-%b-%d %H:%M:%S')+".txt"
fl=open(fname,'w+')
无论上面的代码向fname传递了什么值,它仍然抛出下面的错误

Traceback (most recent call last):
  File "C:/Users/preddy53/PycharmProjects/Practice/Status checks.py", line 7, in <module>
    fl=open(fname,'w+')
OSError: [Errno 22] Invalid argument: 'Portals Statuses at 2018-Aug-21 18:45:01.txt'
回溯(最近一次呼叫最后一次):
文件“C:/Users/preddy53/PycharmProjects/Practice/Status checks.py”,第7行,在
fl=打开(fname,'w+')
OSError:[Errno 22]无效参数:“门户网站2018-Aug-21 18:45:01.txt的状态”

明白了。我在文件名中使用了冒号:“明白了。我在文件名中使用了冒号:“

只需更改
.strftime()
调用,将
(不能在文件名中使用)替换为
或其他内容

fname='Portals Statuses at '+datetime.now().strftime('%Y-%b-%d %H.%M.%S')+'.txt'

只需将
.strftime()
调用更改为将
(不能在文件名中使用)替换为
或其他内容

fname='Portals Statuses at '+datetime.now().strftime('%Y-%b-%d %H.%M.%S')+'.txt'

不能将文件名设置为
冒号在Windows上的路径名中无效,除非在特定情况下,例如驱动器号之后。它们在UNIX系统上是合法的(基础文件系统的模限制)。您不能使用带有
冒号的文件名在Windows上的路径名中无效,除非在特定情况下,例如在驱动器号之后。它们在UNIX系统上是合法的(底层文件系统的模限制)。