我一直使用ARGV打开文件,但我觉得它很笨拙,我想把它们放在不同的文件夹中。
我想在我的talk_parser.rb中打开input.txt,我也不想硬编码文件名。
我的目录(pwd为bin)
├── bin
│ └── talk_parser.rb
└── data
└── input.txt已尝试
x = Dir.glob('../data/*.txt').to_s
file = File.open(File.expand_path(x))但是我得到了这个错误
talk_parser.rb:34:in `initialize':
No such file or directory @ rb_sysopen - /home/huvi/Desktop/test/bin/["../data/input.txt"] (Errno::ENOENT)
from talk_parser.rb:34:in `open'
from talk_parser.rb:34:in `<main>'不知道该怎么做
发布于 2017-07-08 03:41:19
Dir.glob返回一个Array。您可以获取第一个元素并打开它:
path = Dir.glob('../data/*.txt').first
file = File.open(path)https://stackoverflow.com/questions/44975582
复制相似问题