我正在尝试在python中打开一个文本文件。在以下代码中:
import datime
from datetime import datetime
today = datetime.now()
sitename = "Soil Report"
rptFolder = r"C:\Template_Outputs\Production Reports"
file = open(rptFolder + "\\" + sitename + "_" + today.strftime("%y%b%d_%H:%M:%S") + ".txt", "w")
我一直收到以下错误:
[Errno 22]无效模式('w')或文件名:
我已经缩小了文件名中日期的设置范围。它似乎不喜欢(即我只是用“test”替换了today.strftime(“%y%b%d_%H:%M:%S”)并且它有效)
我还尝试将日期设置为字符串,以便将其放入文件名中,如:
str(today.strftime("%y%b%d_%H:%M:%S"))
也没有运气。
我需要文件名中的时间戳,因为较大的脚本在短时间内可能会很有趣。
这里有什么我想念的吗?
答案 0 :(得分:2)
如果您正在使用Windows,则Windows不允许使用冒号(:)的文件。尝试从这里删除你的结肠:
str(today.strftime("%y%b%d_%H:%M:%S"))
看看会发生什么
答案 1 :(得分:1)
文件名中通常不允许使用冒号。用下划线替换。 此外,您可能希望在每秒运行多个文件的情况下包含毫秒,纳秒或随机数。
答案 2 :(得分:1)
Windows上的文件名不能包含冒号(:
)。