如何在Ruby中运行Python代码?

如何在Ruby中运行Python代码?,python,ruby,Python,Ruby,我想将Python代码放入Ruby模块并运行它,但我不知道如何将Python独立脚本导入Ruby。以下是我的代码: Python代码 import ystockquote import pprint pprint.pprint(ystockquote.get_all('GOOG')) 红宝石 module PythonInRuby require "rubypython" RubyPython.start # start the Python interpreter cPickle = R

我想将Python代码放入Ruby模块并运行它,但我不知道如何将Python独立脚本导入Ruby。以下是我的代码:

Python代码

import ystockquote
import pprint
pprint.pprint(ystockquote.get_all('GOOG'))
红宝石

module PythonInRuby
require "rubypython"

RubyPython.start # start the Python interpreter

cPickle = RubyPython.import("cPickle")
p cPickle.dumps("Testing RubyPython.").rubify

RubyPython.stop # stop the Python interpreter

问题是在
RubyPython.start
RubyPython.stop
之间,我不知道如何导入Python文件。另一个问题是,在这个模块中运行Ruby的代码是什么?

这是一种完全过火、过于复杂的方法,但下面是如何实现的

假设您的python模块(文件)名为
googstock.py
。应该是这样的:

import ystockquote

def run():
    return ystockquote.get_all('GOOG')
RubyPython.start

googstock = RubyPython.import('googstock')
puts googstock.run().rubify #Get the stock data into Ruby

RubyPython.stop
然后,您的Ruby可以如下所示:

import ystockquote

def run():
    return ystockquote.get_all('GOOG')
RubyPython.start

googstock = RubyPython.import('googstock')
puts googstock.run().rubify #Get the stock data into Ruby

RubyPython.stop

不过,在未来,试着从雅虎那里获取股票价值吧在Ruby中使用API。不会那么难。

这可能是解决这个问题最复杂、最脆弱的方法。你为什么要这样做?因为我不知道如何使用Ruby语言获取财务数据。用Python编写一个脚本来获取财务数据,然后用Ruby的子进程调用它。更简单。所以,我想下一个逻辑问题是,如果你知道如何在Python中实现,为什么需要使用Ruby?非常感谢,顺便问一下,我如何在rails上运行这个Ruby模块?@user2668789:取决于你在哪里托管代码。但对于这一点,我建议直接调用API。这还不适合生产,对于如此简单的东西,转换确实是一种选择。