これを使用して、ドットファイルをPythonにロードしたい
graph = pydot.graph_from_dot_file(tmp1)
nodeList = graph.get_node_list()
しかし、ドットファイル内のノードのラベルが次のような場合にエラーが発生しました:
398 [形状=ダイヤモンド、fillcolor="#CCCCCC"、ラベル="(int)*値 == '\\"'"];
エラーメッセージは次のようなものです:
398 [shape=diamond, fillcolor="#CCCCCC", label="(int)*value == '\\\"'"]; ^ Expected "}" (at char 1800), (line:34, col:7) Traceback (most recent call last): File "dotchange.py", line 52, in <module> print dotchange(line) File "dotchange.py", line 13, in dotchange nodeList = graph.get_node_list() AttributeError: 'NoneType' object has no attribute 'get_node_list'
エスケープ文字"\"
がエラーの原因のようです。
を含むノードのラベルを に置き換える"\"
と""
、エラーが消えます。