Ruby快速获得各种文件信息

Python012

Ruby快速获得各种文件信息,第1张

在桌面上新建path.rb文件

打开,输入如下代码:

puts "驱动器为: #{Dir.pwd.split(':/').first}"

puts "路径为: #{Dir.pwd}"

puts "文件名为: #{__FILE__}"

puts "扩展名为: #{File.extname(__FILE__)}"

运行

输出结果如下

驱动器为: C

路径为: C:/Documents and Settings/Administrator/Desktop

文件名为: path.rb

扩展名为: .rb

OK!

用正则表达式:

path = "C:\\test.txt"

puts path[/\.[^\.]+$/]

输出是

.txt

或者另一种办法,用scan方法,正则表达式还是一样:

puts path.scan(/\.[^\.]+$/)[0]

举例:加入该rb文件名为xx.rb,路径为xx/xx.rb,需要分析的文件为 yy/yy.txt

命令行调用rb文件(假设ruby.exe加入了环境变量):xxx>ruby xx/xx.rb yy/yy.txt

则该参数(yy/yy.rb)通过命令行传给了Ruby解释器,且解释器会将yy/yy.rb赋值给 ARGV[0](ARGV是一个数组常量),所以可以在程序中引用ARGV[0]来获取命令行中传入的路径(yy/yy.txt)

xx.rb文件可以这样开始:

txt_path = ARGV[0]

#异常处理,判断txt_path是否合法,略!!

text = IO.read(txt_path)

#以下为对文本text的分析.....