import sys
print(sys.platform)
print(2**100)
raw_input()
Python 3.1을 사용하고 있으며 raw_input
dos 팝업을 "고정"시킬 수 없습니다 . 내가 읽고있는 책은 Python 2.5 용이며 Python 3.1을 사용하고 있습니다.
이 문제를 해결하려면 어떻게해야합니까?
import sys
print(sys.platform)
print(2**100)
raw_input()
Python 3.1을 사용하고 있으며 raw_input
dos 팝업을 "고정"시킬 수 없습니다 . 내가 읽고있는 책은 Python 2.5 용이며 Python 3.1을 사용하고 있습니다.
이 문제를 해결하려면 어떻게해야합니까?
답변:
Python 3부터 raw_input()
로 이름이 변경되었습니다 input()
.
에서 의 새로운에서 파이썬 3.0, 내장 매크로 섹션 번째 항목.
input()
와 raw_input()
. a = input()
사용자 입력을 받아 올바른 유형으로 입력합니다. 예를 들어, 사용자가 5를 입력하면 in의 값 a
은 정수 5 a = raw_input()
입니다. 사용자 입력을 받아서 문자열로 넣습니다. 예 : 사용자가 5를 입력하면 in의 값 a
은 정수가 아닌 문자열 '5'입니다. 파이썬과 같은 초보자에게 좋은 정보 일 수 있다고 생각했습니다.
이것은 Python 3.x 및 2.x에서 작동합니다.
# Fix Python 2.x.
try: input = raw_input
except NameError: pass
print("Hi " + input("Say something: "))
global input
호출 기능 상단에 a 로 수정했습니다 .
import __builtin__; input = getattr(__builtin__, 'raw_input', input)
__builtin__
.
__builtin__
로 이름이 바뀌 었습니다 builtins
. 둘 다 __builtins__
CPython 에서처럼 사용할 수 있습니다 .
getattr(__builtins__, 'raw_input', input)
Python 2.7.2에서 가져올 때 기본값을 반환합니다.
다른 사람들이 지적했듯이, raw_input
함수는 input
Python 3.0에서 이름이 바뀌 었으며 최신 책을 통해 더 잘 제공 될 것이지만 스크립트의 출력을 볼 수있는 더 좋은 방법이 있다는 것을 지적하고 싶습니다 .
귀하의 설명에서, 귀하는 Windows를 사용하고 있다고 생각하고 .py
파일을 저장 한 다음 파일을 두 번 클릭하여 실행합니다. 프로그램이 종료 되 자마자 팝업되는 터미널 창이 닫히므로 프로그램 결과를 확인할 수 없습니다. 이 문제를 해결하려면 사용자가 enter를 누를 때까지 raw_input
/ input
문을 추가하는 것이 좋습니다 . 그러나 앞에서 본 것처럼 프로그램의 오류와 같은 문제가 발생하면 해당 명령문이 실행되지 않고 무엇이 잘못되었는지 확인할 수 없으면 창이 닫힙니다. 명령 프롬프트 또는 IDLE을 사용하는 것이 더 쉬울 수 있습니다.
Python 프로그램이 포함 된 폴더 창을 볼 때 Shift 키를 누른 상태에서 창의 흰색 배경 영역을 마우스 오른쪽 단추로 클릭하십시오. 팝업되는 메뉴에는 "Open command window here"항목이 포함되어 있어야합니다. (이것은 Windows Vista 및 Windows 7에서 작동한다고 생각합니다.) 그러면 다음과 같은 명령 프롬프트 창이 열립니다.
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\Weeble\My Python Program>_
프로그램을 실행하려면 다음을 입력하십시오 (스크립트 이름 대체).
python myscript.py
... 그리고 Enter를 누르십시오. ( "python"이 인식되는 명령이 아니라는 오류가 발생 하면 http://showmedo.com/videotutorials/video?name=960000&fromSeriesID=96을 참조 하십시오. ) 프로그램 실행이 완료되면 완료 여부에 관계없이 창 다른 명령을 입력 할 수 있도록 계속 열려 있고 명령 프롬프트가 다시 나타납니다. 프로그램을 다시 실행하려면 파일 이름을 매번 입력 할 필요없이 위쪽 화살표를 눌러 입력 한 이전 명령을 불러오고 Enter 키를 눌러 다시 실행할 수 있습니다.
IDLE은 Python과 함께 제공되는 간단한 프로그램 편집기입니다. 다른 기능들 중에서도 창에서 프로그램을 실행할 수 있습니다. .py
파일을 마우스 오른쪽 버튼으로 클릭 하고 "IDLE에서 편집"을 선택하십시오. 프로그램이 편집기에 나타나면 F5를 누르거나 "Run"메뉴에서 "Run module"을 선택하십시오. 프로그램은 프로그램 종료 후 열린 상태로 실행되며 Python 명령을 입력하여 즉시 실행할 수 있습니다.
pythonw -m idlelib.idle
Timmerman의 솔루션은 코드를 실행할 때 훌륭하게 작동하지만 Undefined name
pyflakes 또는 유사한 린터를 사용할 때 오류가 발생 하지 않으려면 다음을 대신 사용할 수 있습니다.
try:
import __builtin__
input = getattr(__builtin__, 'raw_input')
except (ImportError, AttributeError):
pass
Redefining built-in 'input' (redefined-builtin)
, Unable to import '__builtin__' (import-error)
, Invalid constant name "input" (invalid-name)
.
flake8
또는 pyflakes
그렇게하지에 관한 의미 경고와 함께 모든 일을 차지합니다.
다음은 py2 / 3 불가지론 환경에서 실행하고 싶지 않은 스크립트에 넣은 코드입니다.
# Thank you, python2-3 team, for making such a fantastic mess with
# input/raw_input :-)
real_raw_input = vars(__builtins__).get('raw_input',input)
이제 real_raw_input을 사용할 수 있습니다. 꽤 비싸지 만 짧고 읽을 수 있습니다. 원시 입력을 사용하는 것은 일반적으로 시간이 많이 걸리므로 (입력 대기 중) 중요하지 않습니다.
이론적으로 real_raw_input 대신 raw_input을 할당 할 수도 있지만 raw_input의 존재를 확인하고 그에 따라 동작하는 모듈이있을 수 있습니다. 안전한 곳에 머무르는 것이 좋습니다.