python: os.system does not execute shell comand

Posted by capoluca on Ask Ubuntu See other posts from Ask Ubuntu or by capoluca
Published on 2012-03-03T03:14:44Z Indexed on 2012/07/07 15:23 UTC
Read the original article Hit count: 546

Filed under:

I need to execute shell command in python program (I have ubuntu). More specifically I want to create graph using graphviz in python script. My code is

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

It does not work, but if I just type dot -Tpng graph.dot -o graph.png in command line then everything is fine. Do you know what the problem? Thank you!

Edit: Does not work means that nothing happens, there are no errors.

Output from dot -v -Tpng graph.dot -o graph.png:

dot - graphviz version 2.26.3 (20100126.1600)
Activated plugin library: libgvplugin_pango.so.6
Using textlayout: textlayout:cairo
Activated plugin library: libgvplugin_dot_layout.so.6
Using layout: dot:dot_layout
Using render: cairo:cairo
Using device: png:cairo:cairo
The plugin configuration file:
    /usr/lib/graphviz/config6
        was successfully loaded.
    render  :  cairo dot fig gd map ps svg tk vml vrml xdot
    layout  :  circo dot fdp neato nop nop1 nop2 osage patchwork sfdp twopi
    textlayout  :  textlayout
    device  :  canon cmap cmapx cmapx_np dot eps fig gd gd2 gif gv imap         imap_np ismap jpe jpeg jpg pdf plain plain-ext 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

© Ask Ubuntu or respective owner

Related posts about python