【发布时间】:2018-07-22 13:11:32
【问题描述】:
我正在使用source_python() 函数通过 R Shiny 的用户界面运行 Python 脚本。代码运行正常,我成功了。但我想运行一个名为function2() 的函数,它位于Task3.py 中。我可以这样做吗?如果是,那么我该怎么做?我只想执行function2()。我不希望 function1() 和 function3() 运行。我通过使用谷歌搜索找到的以下行和语法来做到这一点。通过以下链接,我无法成功运行 function2()。我关注的链接是:
https://rstudio.github.io/reticulate/articles/calling_python.html
server.R:
library(reticulate)
observeEvent(input$action,{
py_run_file("applications/Task3.py")
function2()
})
Task3.py:
def main(argv):
function1()
....
function2()
....
function3()
....
if __name__ == "__main__":
try:
k=sys.exit(main(sys.argv))
except (ValueError, IOError) as e:
sys.exit(e)
【问题讨论】:
-
链接教程中的第一个示例完全符合您的要求。只需导入您的模块而不是操作系统。
标签: python r shiny shiny-server reticulate