问题描述
我有一个由我们的一位架构师开发的 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')
我希望其他人觉得这很有用
谢谢