입력 () 을 오류- 나미로르: # 39, & # 39 .& 이름. 정의되지 않았습니다.

나는 이 단순한 때 오류가 발생하는 실행하려고 하면 파이썬 스크립트:

input_variable = input ("Enter your name: ")
print ("your name is" + input_variable)

Say I, I am getting &quot 입력 오류, dude&quot 수 있다.

line 1, in <module>
input_variable = input ("Enter your name: ")
File "<string>", line 1, in <module>
NameError: name 'dude' is not defined

제가 운영하는 Mac OS X 설치 및 실행 앱을 사용하고 10.9.1 함께 제공된 3.3tb 파이썬 스크립트를 실행할 수 있다.

편집: 이러한 스크립트를 실행하는 걸 나는 어떻게든 함께 2.7. 아마 내 스크립트에만 실질적인 문제는 어떻게 실행합니까 버전부터 3.3tb? 만약 내가 내 위에 파이썬 스크립트를 떨어트림 생각해봤죠 드래그된 및 실행 앱 폴더 내에 있는 내 파이썬 스크립트를 사용하여 애플리케이션을 출시할 예정이라고 폴더에서는 3.3tb 내 3.3tb. 그건 아직 출시 2.7 이 방법을 사용하여 스크립트. 3.3tb 미확인범은 어떻게 사용합니까?

질문에 대한 의견 (10)
  • TL; DR *

'입' 의 함수를 파이썬 2.7, 평가하고, 그 파이썬 표현식에서는 있는모든 입력합니다. 단순히 ',' 을 사용할 경우 스맥랜드의 문장열 읽을 수 있는 기능을 raw_input 파이썬 2.7 평가하십시오 검토완료 써줬지 않습니다.

윈도 3.x 를 사용하는 경우 '입' 'raw_input' 로 변경되었습니다. 인용 [파이썬 3.0 릴리스 노트] (https://docs.python.org/3.0/whatsnew/3.0.html # 기본 제공),

&gt. 'raw_input ()' 는 '로 입력 ()'. 즉, 새로운 '선' 에서 '와' 시s.스트딘 판독합니다 입력 () 함수를 사용하여 이 되돌려줍니다 뒤에 줄 바꿈 남겨두었습니다. '경쟁' 이 레오퍼러 입력입니다 종료되었는지 경우 중간에. Eval () ',' 이전 'afaq 비헤이비어에 사용하여 입력 (input ())'

  • 의 파이썬 2.7*, 두 가지 방법을 사용할 수 있는 사용자 수락하려면 투입물. 하나는, 다른 하나는 ['입'] [1] ['raw_input'] [2]. 그들 간의 관계는 다음과 같이 생각할 수 있습니다
input = eval(raw_input)

다음 코드 부분을 고려해보십시오 더 잘 이해하기 위해 이

>>> dude = "thefourtheye"
>>> input_variable = input("Enter your name: ")
Enter your name: dude
>>> input_variable
'thefourtheye'

'수' 는 사용자로부터 입력 문자열에 문자열으로 및 현재 파이썬 컨텍스트입니다. '친구', '친구' 를 입력으로 것으로 판명될 경우 키보드 입력 값을 바인딩됩니다 스푸르테리에 스푸르테리에 '와' '그래서 평가 결과' 에 있는 '' input_variable 유체마다 됩니다.

만약 내가 무언가 입력하시겠습니까 원하는거요 건네십시오. '는 현재 파이썬 컨텍스트로 얻게된다면 페일오버됩니다 나미로르'.

>>> input("Enter your name: ")
Enter your name: dummy
Traceback (most recent call last):
  File "<input>", line 1, in 
  File "", line 1, in 
NameError: name 'dummy' is not defined
  • 보안 고려사항입니다 입력입니다 's' 와 파이썬 2.7& :* # 39.

어떤 사용자가 입력하는 검사됩니다 정판됩니다 보안 문제 때문에, 이 잘 알려져 있다. 예를 들어, 'os' 네 'os' 프로그램을 통해 이미 로드되었는지 모듈에서의 임포트합니다 유형, 그리고 사용자

os.remove("/etc/hosts")

이 평가를 받게 될 것이라고 의해 함수 호출 표현식에서는 파이썬 및 it 실행됨을. 파이썬 실행할 경우 높은 권한을 가진 ',' / etc / hosts 파일은 삭제된다. 얼마나 위험한 지를 알 수 있다면?

이를 증명하기 위해 let& # 39 의 '다시' 기능을 실행하는 데 시도하시겠습니까 입력입니다.

>>> dude = "thefourtheye"
>>> input("Enter your name: ")
Enter your name: input("Enter your name again: ")
Enter your name again: dude

이제 '때 입력 (&quot, 당신의 이름을 입력: ") '는 사용자의 입력과 사용자 입력, 이 csetup 는 파이썬 함수 호출 및 도왔으매 피쳐이면 유효함 호출되었을. 그래서 우리는 이름을 입력하고 '다시 보고 있다. '다시 프롬프트합니다.

따라서 '이렇게' 기능을 통해 raw_input 틀렸다니까 좋습니다

input_variable = raw_input("Enter your name: ")

그 후, 일부 다른 유형을 변환하십시오 할 경우 해당 기능을 사용할 수 있습니다 '에서' raw_input 변환하십시오 구체화하십시오 반환되었습니다. 예를 들어, 정수, int '기능을 사용하여' 에 나와 같은 투입물 읽을 수 있다 (이 오토메이티드] (https://stackoverflow.com/a/20449433/1903116).

, 단 하나의 함수를 파이썬 3.x 에서 getuser 투입물 그 호출됨 ['입'] [3], 파이썬 2.7& # 39 에 해당하는 'raw_input'.

[1]: http://docs.python.org/2/library/functions.html # 입력입니다 [2]: http://docs.python.org/2/library/functions.html # raw_input [3]: http://docs.python.org/3/library/functions.html # 입력입니다

해설 (0)

파이썬 아닌 실행 중인 파이썬 2, 3. 이를 위해 사용하는 raw_input 작업하십시오 파이썬 2 ','.

input_variable = raw_input ("Enter your name: ")
print ("your name is" + input_variable)
해설 (0)

이후 윈도 3.x 용 # 39, ll, 쓰고 싶은 스크립트입니다 you& 함께 시작합니다.

#!/usr/bin/env python3

사용할 경우:

#!/usr/bin/env python

윈도 2.x 기본 방침이다. 이러한 그럽세) 의 첫 줄에 시작하는 경우 스크립트에 없다! # (lc-fc 이 셔뱅).

그냥 경우 스크립트에만 로 시작합니다.

#! python

그런 다음 변경하십시오:

#! python3

비록 이 짧은 몇 만 서식은 인정받을 수 있기 때문에 프로그램 실행 등 최상의 선택은 아닙니다.

처음 두 참조용이므로 훨씬 더 도움이 될 것으로 널리 쓰이고 있는 어떤 시스템에서든지 작동합니까 파이썬 코드에서 설치되었음.

해설 (0)

콩지름에 raw_input python-2.7. 사용하고 있기 때문에 '' ' ()' 를 사용할 때 입력 변수 (예: 의 = 입력 (& # 39, 이름: & # 39;) ') 는 파이썬 환경에 대한 저장하지 않고, 이 명령을 실행하십시오 너희는너희가 작성했습니까 변수 () 의') 의 경우 오류가 만들고 너희는너희가 작성했습니까 정의되지 않았습니다.

'제대로' 하면 너희는너희가 작성했습니까 raw_input () 의 변수 (예: 'f = raw_input (& # 39, 이름: & # 39;) ') 이 파이썬 환경을 만들지 않고, 이를 실행하지 가능한 모든 오류:

input_variable = raw_input('Enter Your Name : ')
print("Your Name Is  : " + (input_variable))
해설 (0)
  • 위한 파이썬 3 잔인하니 *
s = raw_input()

피처름 IDE 에서 이 문제를 해결할 방침이다. 온라인 사이트에 대한 해결) 을 사용할 경우 정확히요 하커랭크.

s = input()
해설 (0)

인컨텍스트 할 수 있습니다.

x = raw_input("enter your name")
print "your name is %s " % x

또는:

x = str(input("enter your name"))
print "your name is %s" % x
해설 (2)
input_variable = input ("Enter your name: ")
print ("your name is" + input_variable)

합니다 큰따옴표 입력하십시오. 입력되는 단일 또는

Ex:'dude' -> correct

    dude -> not correct
해설 (0)
  • 파이썬 2 와 파이썬 3* 모두 사용할 수 있는 다음 사용하고 있습니다
#Works in Python 2 and 3:
try: input = raw_input
except NameError: pass
print(input("Enter your name: "))
해설 (0)

다른 누구나 경험할 수 있는 것도 이 문제를 포함시킬 경우, 알고보니 '#! / usr / bin / env python3 는 무시됨 파일의 경우, 맨 앞에 있는' 스크립트에 셔뱅 isn& # 39, t 실행가능파일.

해당 파일을 실행 여부를 결정할 수 있다.

  • '에서' ./filename.py 실행하십시오 명령줄이
  • '이 발생하면 배시: ./filename.py: 'Filename.py' 허가 '부정하였더라 실행하십시오 a+x chmod 다시 실행하십시오 ./filename.py '-'

39, ve 포함된 '가져오기의 you& 경우 시스템. # 39, ll, 케빈 제안됩니다 you& 보기인쇄 (시s.버시온) '으로 해석할 수 있는 지금 지켜보리니 스크립트입니다 python3 중입니다.

해설 (0)

이전 좋은 기여를 한 것으로 나타났다.

import sys; print(sys.version)

def ingreso(nombre):
    print('Hi ', nombre, type(nombre))

def bienvenida(nombre):
    print("Hi "+nombre+", bye ")

nombre = raw_input("Enter your name: ")

ingreso(nombre)
bienvenida(nombre)

#Works in Python 2 and 3:
try: input = raw_input
except NameError: pass
print(input("Your name: "))

&lt, pre&gt, 당신의 이름을 입력: 조 (& # 39, 아아아안녀어엉 & # 39, & # 39, Joe& # 39, & # 39,, # 39 라티파 &amp str& &amp, gt) 아아아안녀어엉 조라네, 끊으렴

보낸 사람 이름: 조 조 &lt /pre>; 감사합니다!

해설 (0)

난 또 이 문제가 발생할 수 있는 모듈로 되어 있었다 호환되어야 위한 파이썬 2.7-3.7

내가 이 문제를 해결하려면 임포트하지 찾을 수 있었다.

from six.moves import input

이 모두를 위한 번역기 사용 고정식입니다

here 6 라이브러리란 대해 더 많이 읽을 수 있습니다

해설 (0)

39 를 사용하는 경우, re 파이썬 you& 변경할 수 있는 IDE, ve 이미 다운로드됨 shouldn& # 39, 파이썬 3.x you& # 39 이 t be 너무 어려운 스위치였습니다. 그러나 파이썬 스크립트에 대한 변경, 난 그냥 3.x 작동합니다

print ("your name is" + input_variable)

print ("your name is", input_variable)

이 때문에 그 사이의 공백 '내 이름은' 와 함께 인쇄 쉼표를 통해 사용자가 원하는 어떤 통보한. 및: '그냥' 대신 사용할 경우, re you& # 39 를 사용하여 2.7 raw_input 입력입니다.

해설 (0)