我有一個文件名聲明像這樣;錯誤與文件名
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'
,當我爲此
File.open(filename,'w') do |f|
f.write(rsp)
end
錯誤是在`初始化」發生錯誤:無效的參數 - 18:28:20.json我假設是怎麼一回事,因爲文件名的。當我做一些'正常'的名字一切正常,所以任何提示?
嘗試:
filename = Time.now.strftime("%H_%M_%S")+'.json'
Windows使用冒號作爲驅動器號分隔符; 查看this SO question其他特殊字符。
使用不同的分隔符。你可能可以逃脫它,但IMO並不值得。
FWIW,對於時間戳文件名我傾向於yyyymmdd-hhmmss
或類似的。
對於像文件這樣的事情來說,在問題中包含更完整的信息總是很好 - 命名約定在不同操作系統中是不同的,這是衆所周知的。
下次會做,謝謝你的時間。 –
什麼操作系統?對我來說工作得很好。 –
如果您嘗試使用下劃線,該怎麼辦? –
我使用Windows 7. –