python: os.system не выполняет команду оболочки - PullRequest
1 голос
/ 03 марта 2012

Мне нужно выполнить команду оболочки в программе Python (у меня есть Ubuntu).В частности, я хочу создать граф с использованием graphviz в скрипте Python.Мой код

os.system("dot -Tpng graph.dot -o graph.png")

Это не работает, но если я просто наберу "dot -Tpng graph.dot -o graph.png" в командной строке, то все в порядке.Знаете в чем проблема?Спасибо!

Редактировать: не работает означает, что ничего не происходит, ошибок нет.

Вывод из "dot -v -Tpng graph.dot -o graph.png"

dot - graphviz version 2.26.3 (20100126.1600)

Активированная библиотека плагинов: libgvplugin_pango.so.6 Использование textlayout: textlayout: cairo Активированная библиотека плагинов: libgvplugin_dot_layout.so.6 Использование макета: dot: dot_layout Использование render: cairo: cairo Использование устройства: png: cairo: cairoФайл конфигурации плагина: / usr / lib / graphviz / config6 был успешно загружен.рендер: cairo dot рис gd карта ps svg tk vml vrml xdot макет: circo точка fdp neato nop nop1 nop2 osage лоскутное одеяло sfdp twopi textlayout: устройство для разметки текста: устройство canon cmap cmapx cmapx_np точка eps fig рис gd gd2 gif gv imap jp-файл jpegppgобычный png ps ps2 svg svgz tk vml vmlz vrml wbmp x11 xdot xlib loadimage: (lib) eps gd gd2 gif jpe jpeg jpg png ps svg

1 Ответ

2 голосов
/ 03 марта 2012

Я разобрался в проблеме. Я должен закрыть файл graph.dot перед выполнением команды.

...