2015-03-24 2 views
1

Я использую python, и я хочу вызвать Ruby-функцию (то есть аналогично тому, как я бы назвал функцию python), указав аргументы функции, а затем вернусь возвращаемое значение.Вызвать ruby-скрипт из python и вернуть ответ

Я искал вокруг и вижу, как запустить рубиновый код, например. используя os.system, однако, не может показаться либо:

  1. вызова определенной функции в коде рубиновой, передавая переменные
  2. Возвращают результат функции в Python.

, например. Я ищу, чтобы быть в состоянии сделать что-то подобное:

desired_response = ruby_function(variables) 

где ruby_function находится файл с именем ruby_file, и ответ результат выполнения этой функции.

+0

для справки, в то время как, возможно, были более элегантные способы сделать это, я закончил тем, что сохранил функциональные переменные в текстовом файле, вызвав файл ruby, который извлек переменные из текстового файла, а затем сохранил его вывод в другой текстовый файл, который Python читает обратно. – kyrenia

+0

Некоторые мысли: заставить сам ruby-скрипт вернуть значение, а затем использовать 'subprocess.check_output'; оберните рубиновую функцию в микросервисе, используя синатра; используйте JRuby и jython вместе (не так уверен в этом ...) –

ответ

0

Я не знаю, каков ваш вывод из программы ruby, но с os.startfile() вы можете запустить свой рубиновый скрипт.

+0

Мой вывод - это строка, и я ищу, чтобы вернуть эту строку в python – kyrenia

+0

, этот сайт может вам помочь: [link] (http: // rubypython .rubyforge.org /) –

+0

также эта ссылка в stackoverflow: [link] (http://stackoverflow.com/questions/3679501/calling-python-from-ruby) –

Смежные вопросы