У меня есть файл с разделителями табуляции, называемый text.txt. следующим образом.Chef and ruby Как загрузить текстовый файл в хэш
a\tb
c\td
Я, шеф-повар, мне нужно загрузить этот файл в хэш, называемый myhash.
Как это сделать?
У меня есть файл с разделителями табуляции, называемый text.txt. следующим образом.Chef and ruby Как загрузить текстовый файл в хэш
a\tb
c\td
Я, шеф-повар, мне нужно загрузить этот файл в хэш, называемый myhash.
Как это сделать?
Я не знаю о шеф-поваре, но вот чисто рубиновый раствор. Может быть, это помогает:
file = File.open('test.txt', 'r')
lines = file.readlines
file.close
myhash = Hash.new
lines.each do |line|
line.chomp!
key, value = line.split("\t")
myhash[key] = value
end
Вы должны переформатировать файл тест в формате JSON:
{
"a": "b",
"c": "d"
}
И тогда вы можете запустить chef-client
или chef-solo
обеспечения этого JSon файла:
chef-solo -j myfile.json
Вы будете иметь возможность использовать эти данные в качестве атрибутов узлов в таких рецептах:
node[:a] #equals "b"
node[:c] #equals "d"
Ничего. Я не знаю, как открыть файл в рубине, как я могу в python. Я использую шеф-повар, но я разработчик python. – Tampa
Ruby. Документация по файлам: http://ruby-doc.org/core-1.9.3/File.html – Huluk
http://stackoverflow.com/questions/14730833/how-i- Кэн-capture-значения-в-командной строки и добавления к рецепту –