3

我有一个 python 脚本,我想使用 reticulate 包从 R 中运行。我想先在 R 中分配一些变量,然后将它们传递给脚本。不幸的是,当我运行脚本时,我惊讶地发现 python 无法识别变量。我在这里想念什么?谢谢

Python 脚本 ( test.py):

print(x)

代码:

library(reticulate)
x <- 5
source_python(test.py)

错误:

Error in py_run_file_impl(file, local, convert) : 
  NameError: name 'x' is not defined
4

1 回答 1

1

我想出的解决方案是创建一个函数。所以如果在我的python代码之前

z = x + 3

我的新 python 代码将是:

def add_three(x):
    z = x + 3
    return z

然后我可以在 R 中运行:

x <- 5
source_python("test.py")
y <- add_three(x)

并将 y 设为 6。

于 2018-09-27T17:26:56.710 回答