如何从 Rstudio 调用需要命令行参数(非静态参数)的 python 脚本?

How to call a python script that requires command line arguments (that are not static) from Rstudio?

我正在尝试创建一个闪亮的应用程序,用户将从下拉菜单中选择一个短字符串,然后将该字符串传递给 python 脚本,该脚本将输出一些值,这些值将是在闪亮的应用程序中使用。

使用 reticulate 的 py_run_file 函数和硬编码的所需值效果很好。然而,使用这个:

py_run_file('test_script.py arg1')

给出这个:

py_run_file_impl(file, local, convert) 错误:

Unable to open file 'test_script.py arg1' (does it exist?)

几个线程建议使用 system() 调用 运行 带有命令行参数的 .py 脚本,但我认为这对于目标来说不可行,因为参数需要能够改变。其他线程建议创建一个 python 文件,该文件使用带参数的 os.system() 调用原始 python 文件,但这也不适用于我的情况。

有没有人有什么想法?

谢谢

如果其他人正在努力解决这个问题:我找到了解决方法。

我没有向 python 脚本提供参数,而是创建了一个 R 全局环境变量,然后在 python 脚本中调用它。

不知道您可以通过 python 脚本中的 r.RVar 等调用来引用 R 环境变量,类似于 py$PythonVar 在 R 脚本中调用 python 变量.