Мне было интересно, как открыть скрипт R и взаимодействовать с ним (например, отправлять строки, целые числа и т. Д.). Хотя я еще не использовал его раньше, подпроцесс казался разумным способом сделать это.Взаимодействие с скриптом R через подпроцесс Python
До сих пор у меня есть
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]
Но я, кажется, лаяю неправильное дерево. Подпроцесс закрывается, не появляясь для получения этого ввода.
EDIT: Rpy, вероятно, не является хорошей альтернативой на данный момент, потому что пользователи этого скрипта не обязательно будут иметь доступ к этому модулю и его зависимостям.
что является результатом 'process.communicate (input = 1)'? – User
Правильно - хороший вопрос, я должен был указать, что вижу * no * видимый результат в результате process.communicate (input = 1) –