2013-02-08 69 views
-1

我有一個名爲text.txt的製表符分隔文件。如下。廚師和紅寶石如何將文本文件加載到散列

a\tb 
c\td 

我是一名廚師,我需要將該文件加載到名爲myhash的散列中。

我該怎麼做?

+0

沒什麼。我不知道如何用python打開一個紅寶石文件。我使用廚師,但是我是一名Python開發人員 – Tampa

+0

Ruby File文檔:http://ruby-doc.org/core-1.9.3/File.html – Huluk

+0

http://stackoverflow.com/questions/14730833/howi-i-可以捕獲值式的命令行和相加到配方 –

回答

0

我不知道廚師,但這裏是一個純粹的紅寶石解決方案。也許它可以幫助:

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 
0

你必須重新格式化你的測試文件轉換成JSON:

{ 
    "a": "b", 
    "c": "d" 
} 

然後你就可以運行chef-clientchef-solo提供此JSON文件:

chef-solo -j myfile.json 

你會能夠使用這些數據作爲如下配方中的節點屬性:

node[:a] #equals "b" 
node[:c] #equals "d"