Ruby中的文件路径

时间:2010-02-17 00:11:09

标签: ruby file

所以我想在Ruby中创建一个相对于它所在目录的文件路径。

我有一个项目,我希望它能够找到该文件,无论项目解压缩到哪个目录。 (例如,代码在不同的机器上运行)我无法理解我的生活。

似乎要求我能做到这一点:

require File.dirname(__FILE__) + '/comparison'

对于与我的src文件夹不同的目录中的文件,我该怎么办?

而不是列出,

file = 'C:/whole path/long/very_long/file.txt'

我想说:

file = 'file.txt'

file = File.helpful_method + 'file.txt'

2 个答案:

答案 0 :(得分:5)

file = File.join(File.dirname(__FILE__), '..', 'another_dir', 'file.txt')

'..', 'another_dir'替换为到达'file.txt'的相对路径段。

答案 1 :(得分:0)

如果您运行的是Ruby 1.9.2或更高版本,则可以改为使用require_relative

require_relative '../somewhere/file.rb'

这并不能解决通过相对路径引用文件的一般问题,但如果你所做的只是需要文件,它应该可以工作。