python - 写入文件时出现 UnicodeDecodeError

标签 python networkx gml

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

我使用 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)

我还没有找到这方面的文档,所以很困惑。

最佳答案

想知道是否可以使用codec模块来解决这个问题。只需在输入到networkx之前通过编解码器创建一个文件对象,如下所示。

例如,

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

关于python - 写入文件时出现 UnicodeDecodeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16097217/

相关文章:

python - 在 Networkx MultiDigraph 中连接嵌套列表中的节点

ios - "help to fix ' 错误 : unable to read property list from file: info. plist

python - 让python导入更有条理?

python - 如何让Python bs4在XML上正常工作?

python - NetworkX 获取应用权重的节点的度数

python - 如何使用 CSV 文件数据创建图表?

game-maker - 我的 GMAIL 洗牌数组函数总是返回相同的结果

2d - 如何在gml代码中判断物体是否被玩家触摸

python - 为什么 BeautifulSoup 会抛出这个 HTMLParseError?

python - cdef 列出 Cython 中的 my_list