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