如何从 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 变量.
我正在尝试创建一个闪亮的应用程序,用户将从下拉菜单中选择一个短字符串,然后将该字符串传递给 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 变量.