>>> g = pydot.graph_from_dot_data(open('test.dot', 'r').read()) Traceback (most recent call last): File "", line 1, in File "/usr/lib/python3/dist-packages/pydot.py", line 220, in graph_from_dot_data return dot_parser.parse_dot_data(data) File "/usr/lib/python3/dist-packages/dot_parser.py", line 510, in parse_dot_data if data.startswith(codecs.BOM_UTF8): TypeError: startswith first arg must be str or a tuple of str, not bytes >>> g = pydot.graph_from_dot_data(open('test.dot', 'rb').read()) Traceback (most recent call last): File "", line 1, in File "/usr/lib/python3/dist-packages/pydot.py", line 220, in graph_from_dot_data return dot_parser.parse_dot_data(data) File "/usr/lib/python3/dist-packages/dot_parser.py", line 520, in parse_dot_data tokens = graphparser.parseString(data) File "/usr/lib/python3/dist-packages/pyparsing.py", line 1115, in parseString loc, tokens = self._parse( instring, 0 ) File "/usr/lib/python3/dist-packages/pyparsing.py", line 983, in _parseNoCache preloc = self.preParse( instring, loc ) File "/usr/lib/python3/dist-packages/pyparsing.py", line 940, in preParse loc = self._skipIgnorables( instring, loc ) File "/usr/lib/python3/dist-packages/pyparsing.py", line 932, in _skipIgnorables loc,dummy = e._parse( instring, loc ) File "/usr/lib/python3/dist-packages/pyparsing.py", line 989, in _parseNoCache loc,tokens = self.parseImpl( instring, preloc, doActions ) File "/usr/lib/python3/dist-packages/pyparsing.py", line 2624, in parseImpl return self.expr._parse( instring, loc, doActions, callPreParse=False ) File "/usr/lib/python3/dist-packages/pyparsing.py", line 989, in _parseNoCache loc,tokens = self.parseImpl( instring, preloc, doActions ) File "/usr/lib/python3/dist-packages/pyparsing.py", line 2483, in parseImpl ret = e._parse( instring, loc, doActions ) File "/usr/lib/python3/dist-packages/pyparsing.py", line 983, in _parseNoCache preloc = self.preParse( instring, loc ) File "/usr/lib/python3/dist-packages/pyparsing.py", line 945, in preParse while loc < instrlen and instring[loc] in wt: TypeError: 'in ' requires string as left operand, not int