Python 3 xrange()
에서 Python 2 코드베이스를 실행하려고합니다 range()
.
대신 Python 2로 게임을 실행하십시오. 당신은 당신이 무엇을하는지 아는하지 않는 포트를하려고하지 마십시오, 가장 가능성이 넘어 더 많은 문제가있을 것입니다 xrange()
대 range()
.
레코드의 경우 구문 오류가 아니라 런타임 예외입니다.
현재하고있는 일을 알고 있고 Python 3과 호환되는 Python 2 코드베이스를 적극적으로 만들고 있다면에 대한 별칭으로 모듈에 전역 이름을 추가하여 코드를 브리지 할 수 있습니다 range
. ( 파이썬 3에서리스트 객체를 계속 얻기 위해 파이썬 2 코드베이스에서 기존 사용 을 업데이트해야 할 수도 있음을 고려하십시오 ) :range()
list(range(...))
try:
# Python 2
xrange
except NameError:
# Python 3, xrange is now named range
xrange = range
# Python 2 code that uses xrange(...) unchanged, and any
# range(...) replaced with list(range(...))
또는 코드베이스에서 xrange(...)
with range(...)
를 모두 사용한 다음 다른 shim을 사용하여 Python 3 구문을 Python 2와 호환되도록하십시오.
try:
# Python 2 forward compatibility
range = xrange
except NameError:
pass
# Python 2 code transformed from range(...) -> list(range(...)) and
# xrange(...) -> range(...).
후자는 장기적으로 만 파이썬 3과 호환되는 것을 목표로하는 코드베이스에 바람직하며 , 가능할 때마다 파이썬 3 구문을 사용하는 것이 더 쉽습니다.