在Ruby中获取当前目录的父目录

时间:2011-12-28 20:10:48

标签: ruby directory

我知道我可以通过

获取当前目录
$CurrentDir = Dir.pwd

当前目录的父目录怎么样?

4 个答案:

答案 0 :(得分:104)

File.expand_path("..", Dir.pwd)

答案 1 :(得分:12)

也许是最简单的解决方案:

puts File.expand_path('../.') 

答案 2 :(得分:7)

我认为更简单的解决方案是使用File.dirname

2.3.0 :005 > Dir.pwd
 => "/Users/kbennett/temp"
2.3.0 :006 > File.dirname(Dir.pwd)
 => "/Users/kbennett"
2.3.0 :007 > File.basename(Dir.pwd)
 => "temp"

File.basename返回File.dirname没有的路径的组件。

当然,这只有在文件规范是绝对的而不是相对的情况下才有效。为了确保绝对可以做到这一点:

2.3.0 :008 > File.expand_path('.')
 => "/Users/kbennett/temp"
2.3.0 :009 > File.dirname(File.expand_path('.'))
 => "/Users/kbennett"

答案 3 :(得分:1)

在现代 Ruby 中,您绝对应该使用 Pathname

Pathname.getwd.parent