Вызов скриптов и библиотек на других языках
Вызов скриптов и библиотек на других языках

Обладая базовым уровнем знаний Python, можно выдать продукт, сопоставимый с готовыми решениями лидеров рынка. Количество готового кода постоянно растет, поэтому основное, что должен понять начинающий кодер, прежде чем накинуться на решения задачи и ее реализацию в коде - нужно потратить немного времени на поиск готовых решений. Другой вопрос, к…

22 показа
388388 открытий

1. У вас объявление функции некорректное, код не запустится: keyword arguments всегда идут после positional arguments:
def r_spec(duration, path, temp, path2script, command='Rscript'):
2. Для чего склеивать два листа, если вы их тут же создаёте? Сделайте сразу один: cmd = [command, path2script, name, duration, path, temp]
3. subprocess.Popen() — довольно низкоуровневая функция, вам отлично подойдёт subprocess.run()

Ответить
Автор

1. Да, спасибо, действительно опечатка. В рабочем варианте передача данных в функцию выглядит как у Вас. 
2. Два листа были реализованы только для простоты восприятия исходных данных, которые передавались скрипту на R.
3. Такой вариант опробовался. subprocess.run() хоть и запускался без ошибок, но скрипт на R не отрабатывал, то есть csv не создавался. При этом subprocess.Popen() отработал, поэтому остановились на таком варианте.

Ответить