0

該代碼的目的是爲決策樹模型創建。代碼如下。Unicode解碼錯誤:無效起始字節

dot_data=StringIO() 
tree.export_graphviz(clf,out_file=dot_data) 
graph=py.graph_from_dot_data(dot_data.getvalue()) 
print(graph) 
Image.open(graph.create_png(),mode='r') 

在執行時,它提供了以下錯誤:

Traceback (most recent call last): 
File "C:/Ankur/Python36/Python Files/Decision_Tree.py", line 58, in <module> 
Image.open(graph.create_png(),mode='r') 
File "C:\Ankur\Python36\lib\site-packages\PIL\Image.py", line 2477, in open 
fp = builtins.open(filename, "rb") 
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: 
invalid start byte 

我有一個很難解決這個錯誤,因爲我不明白。

回答

0

create_png()返回一個bytes對象,而Image.open(來自PIL)需要一個文件名或文件對象。

嘗試

import io 
Image.open(io.BytesIO(graph.create_png())) 

,它應該工作

相關問題