NameError: 글로벌 이름 'xrange'가 Python 3에 정의되지 않음
python 프로그램을 실행할 때 오류가 발생하는 경우:
Traceback (most recent call last):
File "C:\Program Files (x86)\Wing IDE 101 4.1\src\debug\tserver\_sandbox.py", line 110, in <module>
File "C:\Program Files (x86)\Wing IDE 101 4.1\src\debug\tserver\_sandbox.py", line 27, in __init__
File "C:\Program Files (x86)\Wing IDE 101 4.1\src\debug\tserver\class\inventory.py", line 17, in __init__
builtins.NameError: global name 'xrange' is not defined
경기는 여기서부터입니다.
무엇이 이 오류를 발생시키는가?
Python 3으로 Python 2 코드베이스를 실행하려고 합니다. Python 3에서 이름이 변경되었습니다.
대신 파이선 2로 게임을 실행하십시오.당신이 무엇을 하고 있는지 모르는 한 그것을 포팅하려고 하지 마라, 아마도 그 이상의 문제가 있을 것이다.xrange()
대range()
.
레코드의 경우, 현재 표시되는 것은 구문 오류가 아니라 런타임 예외일 수 있다.
만약 당신이 당신이 무엇을 하고 있는지 알고 있고 파이톤 3과 호환되는 파이톤 2 코드베이스를 적극적으로 만들고 있다면, 당신은 당신의 모듈에 글로벌 이름을 의 별칭으로 추가하여 코드를 브리지할 수 있다.range
. (기존을 업데이트해야 할 수도 있다는 점을 고려하십시오.range()
와 함께 Python 2 코드베이스에서 사용list(range(...))
Python 3에서 목록 개체를 계속 받으려면:
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(...)
와 함께range(...)
코드베이스에서 다른 심을 사용하여 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(...).
후자는 장기적으로만 Python 3 호환성을 목표로 하는 코드베이스를 선호하며, 가능하면 언제든지 Python 3 구문을 사용하는 것이 더 쉽다.
덧셈을xrange=range
당신의 암호로 :) 그것은 내게 효과가 있다.
나는 이 수입을 추가하여 문제를 해결했다.
추가 정보
from past.builtins import xrange
python 2.x에서 xrange는 제너레이터를 반환하는 데 사용되는 반면 range는 목록을 반환하는 데 사용된다.python 3.x에서는 xrange가 제거되었고 range는 python 2.x의 xrange와 마찬가지로 생성기를 반환한다.따라서 python 3.x에서는 xrange보다는 range를 사용해야 한다.
대체하다
파이톤 2xrange
로
파이톤 3range
모두 똑같이 쉬어라.
나는 마지막 대답에 동의한다.그러나 이 문제를 해결할 다른 방법이 있다.pip install future와 같이 future라는 이름의 패키지를 다운로드할 수 있다.그리고 당신의 .py 파일에 이 "과거로부터"를 입력한다.builtins 가져오기 xrange".이 방법은 당신의 파일에 많은 xrange가 있는 상황을 위한 것이다.
참조URL: https://stackoverflow.com/questions/17192158/nameerror-global-name-xrange-is-not-defined-in-python-3
'Programing' 카테고리의 다른 글
왜 람다에서는 인쇄가 안 되는가? (0) | 2022.03.24 |
---|---|
TypeError: Python3에서 파일에 쓸 때 'str'이 아니라 바이트와 같은 개체가 필요함 (0) | 2022.03.24 |
JavaScript에서 모든 개체 속성을 null로 설정하는 방법? (0) | 2022.03.24 |
하위 프로세스를 한 줄씩 읽다. (0) | 2022.03.23 |
라우터 링크-활성화된 vue-router는 홈페이지 경로의 모든 해시 링크를 활성화함 (0) | 2022.03.23 |