2012-06-02 53 views
0

我有一個文件名聲明像這樣;錯誤與文件名

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

,當我爲此

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

錯誤是在`初始化」發生錯誤:無效的參數 - 18:28:20.json我假設是怎麼一回事,因爲文件名的。當我做一些'正常'的名字一切正常,所以任何提示?

+0

什麼操作系統?對我來說工作得很好。 –

+0

如果您嘗試使用下劃線,該怎麼辦? –

+0

我使用Windows 7. –

回答

2

嘗試:

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

Windows使用冒號作爲驅動器號分隔符; 查看this SO question其他特殊字符。

使用不同的分隔符。你可能可以逃脫它,但IMO並不值得。

FWIW,對於時間戳文件名我傾向於yyyymmdd-hhmmss或類似的。

對於像文件這樣的事情來說,在問題中包含更完整的信息總是很好 - 命名約定在不同操作系統中是不同的,這是衆所周知的。

+0

下次會做,謝謝你的時間。 –