在Ruby中的目录中打开文件失败

时间:2013-04-02 10:11:29

标签: ruby-on-rails ruby

我试图以下面给出的方式更改文件的权限。

File.chmod(0777,"util\logger\Sample.txt").但问题是Sample.txt在给定路径util / logger / Sample.txt中。

上述操作失败,因为无法找到文件名Sample.txt。我试着这样Dir.chdir("\util\logger"),然后我正在做File.chmod(0777,"Sample.txt")

所以我需要再次回到我的基本文件夹来进行其他操作。我对这种开发代码的方式感觉不太好。

因此,直接从目录访问文件而不更改当前目录的任何帮助都将对我有很大帮助。

提前致谢, 阿迪亚

2 个答案:

答案 0 :(得分:2)

首先,我认为你不能在Unix系统上使用反斜杠作为文件分隔符。路径中的反斜杠是微软的事情。幸运的是,Ruby有一种从路径中删除文件分隔符的好方法,因此可以根据环境计算运行时。

使用 File.join('path', 'to', 'file.txt')

这将在Unix上返回值为path/to/file.txt的字符串。

答案 1 :(得分:0)

我这样解决了..

File.chmod(0777,"util/logger/Sample.txt") , Previously i try to enter /util/logger