2013-08-25 67 views
0

所以我最近不得不从Ubuntu工作改为使用OSX,而​​且我的Ruby代码有一些兼容性问题。我试图附加到一个CSV,如果它不存在,应该创建一个。我在Ubuntu中使用了这个代码,它工作得很好,我不知道问题是什么。使用ruby创建并追加到CSV

CSV.open("~/Documents/Endeca/file.csv","a") do |csv| 
    csv << [Text,Date,Name,id] 
end 

当我现在运行它时,我收到一个错误,指出“没有这样的文件或目录”。我使用ruby 2.0.0与rvm

+0

你有没有在路径中的所有目录?我的意思是,〜/ Documents/Endeca /存在吗? –

+0

试试'CSV.open(“file.csv”,“a”)...';那样有用吗? – naomik

+0

〜/ Documents/Endeca /确实存在 – nickg

回答

4

~从字面上解释为~。如果你想要主目录,你应该使用File.expand_path来扩展它。

File.expand_path('~/Documents/Endeca/file.csv') 
# => "/home/falsetru/Documents/Endeca/file.csv" 
+0

+1良好的呼叫。我忘了这件事。 – naomik

+0

谢谢!我其实只是自己遇到了这个问题,将来我必须记住这一点。 – nickg