尝试更新 python2.7 程序以适应 python3.3 新语法限制

Posted

技术标签:

【中文标题】尝试更新 python2.7 程序以适应 python3.3 新语法限制【英文标题】:Trying to update python2.7 program to fit python3.3 new syntax restrictions 【发布时间】:2014-11-13 05:23:40 【问题描述】:

通过流工作直到达到目标 我在 q=rs.next() 行出现错误...“AttributeError 'generator' object has no attribute 'next' ... next 在 python33 中不再有效?

while num_withCoordinates<stop_at:
    q=rs.next()

【问题讨论】:

您的代码似乎没有进入您的问题。 为整个while语句添加了其余代码 酷。它还有助于显示您定义rs 的部分。 刚刚粘贴在整个程序中,抱歉应该一开始就这样做 我发现 python 2.7 中的 rs.next() 现在是 python 3.3 中的 rs.__next__() 【参考方案1】:

在 Python3 中,next 更改为 __next__ 用于迭代器。但最好的迭代方式(for 除外)是使用next 函数:

q = next(rs)

【讨论】:

【参考方案2】:

如果rs 是生成器,则正确的语法(2.7 和 3.x)是:

q = next(rs)

【讨论】:

以上是关于尝试更新 python2.7 程序以适应 python3.3 新语法限制的主要内容,如果未能解决你的问题,请参考以下文章

Pyqt4+Eric6+python2.7.13(windows)

python2.7源码中埋藏的坑(持续更新)

Windows10-python2.7安装MySQLdb报错

python2.6升级2.7

管理Python版本

Win7下Python2.7环境安装paramiko模块(转)