R 包reticulate
有一个自定义$
运算符,它充当.
等效 Python 模块/对象中的运算符。由于$
无法评估的第二个参数,在这种情况下如何将参数传递给它?
reticulate
自述文件上的示例用法是
library(reticulate)
os <- import("os")
os$chdir("tests")
os$getcwd()
我在下面的函数之后,...
它将是带有零个或多个参数的 python 调用。
my_function <- function(python_object, ...)
由于函数在全局环境中不存在,因此python_object
需要属于类python.builtin.object
或python.builtin.module
参数需要作为字符传递。
例如。
my_function(os, "chdir", "tests")
my_function(os, "getcwd")
my_function(r_to_py("my_string"), "lstrip", "my_")
我的想法类似于
do.call("chdir", list("tests"), envir = os)
或者
reticulate:::`$.python.builtin.object`(os, eval(parse(text="chdir('tests')")))
但是这些都没有奏效。