我有一个这样声明的文件名;
filename = Time.now.strftime("%H:%M:%S")+'.json'
当我这样做时会发生错误
File.open(filename,'w') do |f|
f.write(rsp)
end
错误出现在“初始化”中:无效参数 - 18:28:20.json 我认为这是因为文件名。当我做一些“正常”的名字时,一切正常,所以有什么提示吗?
尝试:
filename = Time.now.strftime("%H_%M_%S")+'.json'
Windows 使用冒号作为驱动器号分隔符;有关其他特殊字符,请参见此SO 问题。
使用不同的分隔符。您也许可以逃脱它,但 IMO 并不值得。
FWIW,对于我倾向于yyyymmdd-hhmmss
或类似的时间戳文件名。
对于文件之类的东西,在问题中包含更完整的信息总是好的——众所周知,操作系统之间的命名约定是不同的。