我想知道如何打开一个 R 脚本并与之交互(例如,发送字符串、整数等)。尽管我以前没有使用过它,但 subprocess 似乎是一种合理的方法。
到目前为止,我有
process = subprocess.Popen(['/path/to/Rscript --no-save path/to/script.R'], stdout=subprocess.PIPE, stdin=subprocess.PIPE, shell=True)
这似乎在打开 script.R 时是成功的,但是在我的脚本中,我提示用户输入一个整数,我无法完全弄清楚如何做到这一点。我试过了:
process.communicate(input=1)[0]
但我似乎在叫错树。子进程在没有收到此输入的情况下关闭。
编辑:此时 Rpy 可能不是一个好的选择,因为这个脚本的用户不一定有权访问该模块及其依赖项。