的UnicodeDecodeError写入文件(UnicodeDecodeError for wri

2019-08-31 13:15发布

我知道,这是一个非常常见的错误,但它是我第一次尝试写文件时遇到了它。

我使用networkx与图形网络分析工作,当我尝试写到任何格式:

nx.write_gml(G, "Graph.gml")
nx.write_pajek(G, "Graph.net")
nx.write_gexf(G, "graph.gexf")

我得到:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 2, in write_pajek
  File "/Library/Python/2.7/site-packages/networkx/utils/decorators.py", line 263, in _open_file
    result = func(*new_args, **kwargs)
  File "/Library/Python/2.7/site-packages/networkx/readwrite/pajek.py", line 100, in write_pajek
    path.write(line.encode(encoding))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 19: ordinal not in range(128)

我还没有找到这个文件,所以很困惑。

Answer 1:

想知道你是否可以使用的编解码器模块的解决与否。 仅仅通过编解码器创建一个文件对象作为喂养networkx之前以下。

当然,

import codecs
f = codecs.open("graph.gml", "w", "utf-8")


文章来源: UnicodeDecodeError for writing file