我想從ruby方法運行python腳本。我在Rails應用程序中將此方法作爲rake任務運行。我使用的方案中提到here:如何獲得從紅寶石方法執行的python腳本的輸出
def create
path = File.expand_path('../../../../GetOrders', __FILE__)
output = `"python2 " + path + "/parse.py"`
print output
str = JSON.parse(output)
print str
end
編輯:這工作:
output = `python2 #{path}/parse.py`
EDIT2: 使用Python腳本我試圖詞典列表傳遞給紅寶石功能。 python腳本看起來是這樣的:
import xml.etree.ElementTree as ET
import json
def parse():
tree = ET.parse('response.xml')
root = tree.getroot()
namespaces = {'resp': 'urn:ebay:apis:eBLBaseComponents'}
order_array = root.find("resp:OrderArray", namespaces=namespaces)
detailsList = []
for condition:
details["key1"] = value1
details["key2"] = value2
detailsList.append(details)
output = json.dumps(detailsList)
return output
print parse()
有人可以解釋我做錯了什麼,我該如何解決這個問題。感謝
你可以直接在命令行上運行嗎? –
@thorstenmüller:是的,python腳本在命令行 – nish
['Kernel#''](http://ruby-doc.org/core-2.1.0/Kernel.html#method-i-60)不要把它的論點看成是字符串。 –