加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-17 01:23:18 所属栏目:Python 来源:网络整理
导读:需要把一段py2的代码转为py3,执行后,遇到一个错误就解决一个错误,一般都会有替换方案。 楼主遇到的如下: 1.?SyntaxError: Missing parentheses in call to 'print' 所有“print X” 更改为“print(X)” 2. 报错:TypeError: 'dict_keys' object is not s

需要把一段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)


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读