Rスクリプトを開いて操作する方法を知りたいと思っていました(たとえば、文字列や整数などを送信します)。これまで使用したことはありませんが、サブプロセスはこれを行うための合理的な方法のように思えました。
これまでのところ、私は
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 は、このスクリプトのユーザーが必ずしもそのモジュールとその依存関係にアクセスできるとは限らないため、現時点ではおそらく適切な代替手段ではありません。