17

例如,我可以在 PHP 中使用 Python 脚本,如下所示:

exec("python script.py params",$result);

其中“script.py” - 脚本名称和变量$result保存输出数据。

我怎样才能用 Ruby 做到这一点?我的意思是,从 Ruby 调用 Python 脚本。

4

5 回答 5

27

您可以转出任何 shell 二进制文件并使用反引号捕获响应:

result = `python script.py params`
于 2013-09-05T20:35:03.180 回答
10

一种方法是exec

result = exec("python script.py params")
于 2013-09-05T20:39:09.790 回答
3

另一种做同样事情的方法是,

system 'python script.py', params1, params2
于 2013-09-05T20:43:53.917 回答
1

我使用了来自 ruby​​ 模块的以下 python 调用。

在我的情况下,使用exec()不起作用,因为它会中断当前进程并导致我正在运行的模拟失败。

# run python script
`python #{py_path_py} #{html_path_py} #{write_path_py}`
于 2015-08-07T18:11:27.343 回答
0

您可以backticks通过两种方式完成此操作

result = `python script.py params`

或者

result = %(python script.py params)
于 2019-09-24T09:42:24.307 回答