需要把一段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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。