У меня есть сценарий Python, что после того, как некоторые вычисления генерируют два файла данных, отформатированные как gnuplot вход.
Как я 'называю' gnuplot из Python?
Я хочу отправить следующую строку Python, как введено в gnuplot:
"plot '%s' with lines, '%s' with points;" % (eout,nout)
где 'eout' и 'nout' являются этими двумя именами файлов.
PS: Я предпочитаю не использовать дополнительные модули Python (например, gnuplot-py), только стандартный API.
Спасибо
Простой подход может быть просто написать третий файл, содержащий ваш файл GNUPLOT команды, а затем скажите Python, чтобы выполнить GNUPLOT с помощью этого файла. Скажем, вы пишете
"plot '%s' with lines, '%s' with points;" % (eout,nout)
в файл под названием TMP.GP. Затем вы можете использовать
from os import system, remove
system('gnuplot tmp.gp')
remove('tmp.gp')
Модуль
Модуль позволяет вам вызывать другие программы:
import subprocess
plot = subprocess.Popen(['gnuplot'], stdin=subprocess.PIPE)
plot.communicate("plot '%s' with lines, '%s' with points;" % (eout,nout))