因此,我在 Anaconda 的 python 2.7 中使用了 pydot,并注意到当我尝试在 Pydot 中使用某些字符串时,我不断收到错误消息。
我隔离的错误是:
import pydot
graph = pydot.Dot(graph_type='digraph', rankdir = 'LR')
S = 'Total Flow Count ' + ':' + str(3)
legend = pydot.Node('Legend', label=S, shape='rectangle')
graph.add_node(legend)
每当我运行它时,我都会得到以下输出:
Traceback (most recent call last):
File "path\of\my\code\errorisolate.py", line 13, in <module>
graph.write_png('example5graph.png')
File "c:\Anaconda\lib\site-packages\pydot.py", line 1609, in <lambda>
lambda path, f=frmt, prog=self.prog : self.write(path, format=f, prog=prog))
File "c:\Anaconda\lib\site-packages\pydot.py", line 1703, in write
dot_fd.write(self.create(prog, format))
File "c:\Anaconda\lib\site-packages\pydot.py", line 1803, in create
status, stderr_output) )
InvocationException: Program terminated with status: 6. stderr follows: Error: c:\users\sidharth\appdata\local\temp\tmpxvwsls:3: syntax error near line 3
context: Legend [shape=rectangle, label=Total Flow Count >>> : <<< 3];
到目前为止的分析/工作:
不知何故,冒号字符 ':' 后跟 str() 格式的数字的组合似乎会引发错误。我试图通过在前面附加“r”来修复它,因为我知道这是一种修复包含“\n”字符的错误的方法。但即便如此,也没有运气。
变化:
我删除了 r 因为它似乎引起了一些混乱。我一直保留 r':' 希望模拟非编译换行符 '\n' 问题的解决方案,因为 pydot 要求将它们列为 r'\n' ,其中 r 未明确定义。
按照: