#python #scilab
#python #scilab
Вопрос:
Возможно ли запустить системный процесс удаленно, т. Е. В фоновом режиме, используя python?
Например, у меня в системе установлен Scilab, теперь я делаю что-то вроде этого
xx= os.system('scilab-adv-cli')
в консоли python. Но это запускает фактический интерфейс командной строки scilab. Хотя мне нужно что-то вроде этого :
xx.add(1,2)
вот некоторая функция, предопределенная в модуле scilab, которая при вызове должна возвращать 3 здесь. Можно ли это сделать?
Комментарии:
1. Я думаю, вы ищете подпроцесс. Это позволит вам передавать STDIN и получать STDOUT из scilab-adv-cli. docs.python.org/library/subprocess.html
Ответ №1:
Если это ограничено Scilib, проверьте http://forge.scilab.org/index.php/p/sciscipy /
это должно позволить вам делать все, что scilib может делать из python.
Кроме того, хотя это не решает вашу проблему, вам следует рассмотреть возможность использования subprocess вместо os.system
http://docs.python.org/library/subprocess.html#module-subprocess
Комментарии:
1. Другими словами: 1) Используйте привязки python, если они существуют для вашего пакета 2) В противном случае используйте подпроцесс для связи с внешней командой
2. 3)
pexpect
может быть полезным инструментом для взаимодействия с интерактивными (текстовыми) программами локально или удаленно.