我需要在python程序中执行shell命令(我有ubuntu)。更具体地说,我想在python脚本中使用graphviz创建图形。我的代码是
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 fig gd map ps svg tk vml vrml xdot 布局:circo dot fdp neato nop nop1 nop2 osage patchwork sfdp twopi textlayout:textlayout 设备: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
答案 0 :(得分:2)
我弄明白了这个问题。我应该在执行命令之前关闭文件graph.dot。