2016-08-13 4 views
0

ruby에서 python 스크립트를 실행 중입니다. 하지만 난 매개 변수를 파이썬 스크립트에 내가 루비에서 캠을 전달했습니다. 전달되어야하는 매개 변수는 특정 인스턴스에있는 일부 변수입니다. 시나리오를 설명하는 코드는 다음과 같습니다.변수가있는 ruby에서 python 코드 실행

#test.rb 
    result = `python ml.py '{"a":1, "b":23, "c":2334,"d":2244}'` 

위의 코드는 완벽하게 작동합니다. 하지만 매개 변수는 파이썬 스크립트에 전달해야하는 조작으로 생성됩니다. params를 보내는 것은 저에게 중요한 문제입니다. 다음은 구현 한 코드입니다.

 #testvar.rb   
    params = manipulate_data    # This gives result in json format 
    #result `python ml.py 'params'`  # Not working 

나는 다른 접근법을 시도했지만 나를 위해 일하지 않았다.

답변

0

이 시도 :

$ cat d.py 
import json 
import sys 
from collections import OrderedDict 
print json.loads(sys.argv[1], object_pairs_hook=OrderedDict) 
$ cat a.rb 
require 'json' 
params = {"a":1, "b":23, "c":2334,"d":2244}.to_json 
result = `python d.py '#{params}'` 
puts result 
$ ruby a.rb 
OrderedDict([(u'a', 1), (u'b', 23), (u'c', 2334), (u'd', 2244)]) 
관련 문제