0

我有一个这样声明的文件名;

filename = Time.now.strftime("%H:%M:%S")+'.json'

当我这样做时会发生错误

File.open(filename,'w') do |f|
 f.write(rsp)
end

错误出现在“初始化”中:无效参数 - 18:28:20.json 我认为这是因为文件名。当我做一些“正常”的名字时,一切正常,所以有什么提示吗?

4

2 回答 2

2

尝试:

filename = Time.now.strftime("%H_%M_%S")+'.json'
于 2012-06-02T16:46:26.753 回答
1

Windows 使用冒号作为驱动器号分隔符;有关其他特殊字符,请参见此SO 问题

使用不同的分隔符。您也许可以逃脱它,但 IMO 并不值得。

FWIW,对于我倾向于yyyymmdd-hhmmss或类似的时间戳文件名。

对于文件之类的东西,在问题中包含更完整的信息总是好的——众所周知,操作系统之间的命名约定是不同的。

于 2012-06-02T16:42:51.740 回答