使用 Reticulate 运行带参数的 Python 脚本

问题描述

我有一个由我们的一位架构师开发的 Python 脚本。我想使用 R 包在 Reticulate 中执行它。该脚本的作用类似于我们其中一个系统的 API。我在我的机器上调用它并提供一个数字,它会为我吐出一个 JSON 文件

通过查看文档可以看出,可以使用 py_run_file(file) 运行脚本。我可以使用它来运行脚本,但是当我添加参数说它不知道文件在哪里时它会失败。这一切都可以通过命令提示符完美运行,并且当我不包含参数时可以找到该文件

我知道我可以将 cmd 提示符包装在 R 中以通过 python 执行脚本,但想知道是否可以将命令提交到 Reticulate 并取回结果。下面是一个代码示例

library(reticulate)
file = 'C:/Users/foo/Documents/util/account_number.py -n 9998877'
py_run_file(file)

py_run_file_impl(file,local,convert) 中的错误:无法打开文件 'C:/Users/foo/Documents/util/account_number.py -n 9998877'(是吗 存在吗?)

非常感谢您的帮助

解决方法

我找到了答案here

所以我在 R 中获取 python 脚本,并可以访问我的环境中的所有功能。将其应用于我上面的问题


library(reticulate)
file = 'C:/Users/foo/Documents/util/account_number.py'
source_python(file)
search_account('9998877')

我希望其他人觉得这很有用

谢谢