尝试更新 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)