文件名错误

时间:2012-06-02 16:31:20

标签: ruby filenames

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

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

,当我这样做时会发生错误

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

错误在`initialize':无效的参数 - 18:28:20.json,我认为是因为文件名错误。当我做一些“正常”的名字时,一切正常,所以任何提示?

2 个答案:

答案 0 :(得分:2)

尝试:

filename = Time.now.strftime("%H_%M_%S")+'.json'

答案 1 :(得分:1)

Windows使用冒号作为驱动器号分隔符; 有关其他特殊字符,请参阅this SO question

使用其他分隔符。你可能能够逃脱它,但IMO,并不值得。

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

对于像文件这样的东西,在问题中包含更完整的信息总是好的 - 各个操作系统的命名约定是不同的。