Geo*_*pty 262 ruby irb working-directory
我在Windows上运行Ruby虽然我不知道这是否应该有所作为.我想要做的就是获取当前工作目录的绝对路径.这可能来自irb吗?显然,从脚本中可以使用它File.expand_path(__FILE__)
但是从irb我尝试了以下内容并得到了"Permission denied"错误:
File.new(Dir.new(".").path).expand
Run Code Online (Sandbox Code Playgroud)
use*_*509 490
Dir.pwd 似乎可以做到这一点.
http://ruby-doc.org/core/Dir.html#method-c-pwd
Psy*_*one 179
File.expand_path File.dirname(__FILE__) 将返回相对于调用此命令的文件的目录.
但Dir.pwd返回工作目录(结果与pwd终端中的执行相同)
udo*_*udo 56
至于相对于当前执行脚本的路径,从Ruby 2.0开始也可以使用
__dir__
Run Code Online (Sandbox Code Playgroud)
所以这基本上是一样的
File.dirname(__FILE__)
Run Code Online (Sandbox Code Playgroud)
这将为您提供当前文件的工作目录。
File.dirname(__FILE__)
Run Code Online (Sandbox Code Playgroud)
例子:
current_file: "/Users/nemrow/SITM/folder1/folder2/amazon.rb"
结果:“/Users/nemrow/SITM/folder1/folder2”
小智 6
通过这个,您可以获得位于任何目录中的任何文件的绝对路径。
File.join(Dir.pwd,'some-dir','some-file-name')
Run Code Online (Sandbox Code Playgroud)
这将返回
=> "/User/abc/xyz/some-dir/some-file-name"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
209835 次 |
| 最近记录: |