Я должен сделать графики из нескольких файлов с данными. Я уже нашел способ запустить простую команду
xmgrace -batch batch.bfile -nosafe -hardcopy
, в котором batch.bfile представляет собой текстовый файл с командами изящества для печати нужного мне графика. Я уже попробовал это вручную, и он отлично работает. Чтобы сделать это с несколькими файлами, мне просто нужно отредактировать один параметр внутри batch.bfile и запускать одну и ту же команду каждый раз, когда я делаю изменения.
Я уже написал код на python, который редактирует файл batch.bfile и просматривает все файлы данных с циклом for. На каждом шаге цикла я хочу выполнить указанную команду непосредственно в командной строке.
После небольшого поиска я нашел два решения, одно с os.system () и другое с subprocess.Popen (), и я мог только заставить subprocess.Popen () работать без ошибок, написав:
subprocess.Popen("xmgrace -batch batch.bfile -nosafe -hardcopy", shell=True)
Проблема в том, что на практике это ничего не делает, т. Е. Это просто не то же самое, что запуск команды непосредственно в командной строке. Я уже пытался написать полный каталог для batch.bfile, но ничего не изменилось.
Я использую Python 2.7 и Mac OS 10.7