【Python】python2的代码转python3遇到的问题

前端之家收集整理的这篇文章主要介绍了【Python】python2的代码转python3遇到的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

需要把一段py2的代码转为py3,执行后,遇到一个错误解决一个错误,一般都会有替换方案。

楼主遇到的如下:

1. SyntaxError: Missing parentheses in call to 'print'

所有“print X” 更改为“print(X)”

2. 报错:TypeError: 'dict_keys' object is not subscriptable

解决:self._G.node.keys()[:] 改为 list(self._G.node.keys())

3. 报错:AttributeError: 'collections.defaultdict' object has no attribute 'itervalues'

解决:m.itervalues() 改为 m.values()

4. 报错:AttributeError: module 'string' has no attribute 'atoi'

解决:v_i = string.atoi(s) 改为 v_i = int(s) 

5. 报错:TypeError: 'dict_keys' object does not support indexing

解决:将dict_keys()类型转化为list

visit_sequence = self._G.keys(); random.shuffle(visit_sequence) 改为 visit_sequence = list(self._G.keys()); random.shuffle(visit_sequence)


猜你在找的Python相关文章