路漫漫其修远兮,吾将上下而求索

RUBY获取当前的执行文件的路径和目录

上一篇 / 下一篇  2009-12-16 13:41:40 / 个人分类:Ruby_Watir

 

获得当前执行文件的文件名:

__FILE__

获得当前文件的目录

File.dirname(__FILE__)

获得当前执行文件的完整路径

require ‘pathname’
Pathname.new(__FILE__).realpath

获得当前执行文件的目录完整路径

require ‘pathname’
Pathname.new(File.dirname(__FILE__)).realpath

如果使用$0: $0是整个ruby执行文件最顶层文件的路径。因此使用if __FILE__==$0可以判断当前ruby文件是被引用还是被执行。

File.basename(filename[, suffix]):返回filename中的最后一条斜线后面的部分。若给出了参数suffix且它和filename的尾部一致时,该方法会将其删除并返回结果。
File.dirname(filename) :以字符串的形式返回filename中最后一条斜线之前的部分。若文件名中不含斜线,则返回"."(当前目录)。
File.expand_path(path[, default_dir]) path展开为绝对路径后返回该路径字符串。若path是相对路径则以default_dir为基准进行扩展。若没有default_dir或其值为nil时将使用当前目录。开头的~会被扩展为主目录(使用环境变量HOME),而~USER会被扩展为相应用户的主目录。

问题:

      脚本放在根目录下可以通过File.dirname(File.expand_path("_FILE_"))+"emailNikName.xls"这个方法来获取脚本;但是如果根目录下的某个文件夹下,就一定要在_"emailNikName.xls"前加上“/”,即_"/emailNikName.xls"。

     没有查到好办法,只有通过判断当前目录是否为根目录来决定如何运行脚本,期待更好的办法。如果有那些朋友有,可以留言给我...

 


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-15  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 40552
  • 日志数: 76
  • 图片数: 2
  • 建立时间: 2007-11-02
  • 更新时间: 2011-08-13

RSS订阅

Open Toolbar