나는 이 단순한 때 오류가 발생하는 실행하려고 하면 파이썬 스크립트:
input_variable = input ("Enter your name: ")
print ("your name is" + input_variable)
Say I, I am getting " 입력 오류, dude" 수 있다.
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 미확인범은 어떻게 사용합니까?
'입' 의 함수를 파이썬 2.7, 평가하고, 그 파이썬 표현식에서는 있는모든 입력합니다. 단순히 ',' 을 사용할 경우 스맥랜드의 문장열 읽을 수 있는 기능을 raw_input 파이썬 2.7 평가하십시오 검토완료 써줬지 않습니다.
윈도 3.x 를 사용하는 경우 '입' 'raw_input' 로 변경되었습니다. 인용 [파이썬 3.0 릴리스 노트] (https://docs.python.org/3.0/whatsnew/3.0.html # 기본 제공),
>. 'raw_input ()' 는 '로 입력 ()'. 즉, 새로운 '선' 에서 '와' 시s.스트딘 판독합니다 입력 () 함수를 사용하여 이 되돌려줍니다 뒤에 줄 바꿈 남겨두었습니다. '경쟁' 이 레오퍼러 입력입니다 종료되었는지 경우 중간에. Eval () ',' 이전 'afaq 비헤이비어에 사용하여 입력 (input ())'
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 <module>
File "<string>", line 1, in <module>
NameError: name 'dummy' is not defined
어떤 사용자가 입력하는 검사됩니다 정판됩니다 보안 문제 때문에, 이 잘 알려져 있다. 예를 들어, '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
이제 '때 입력 (", 당신의 이름을 입력: ") '는 사용자의 입력과 사용자 입력, 이 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 # 입력입니다
이후 윈도 3.x 용 # 39, ll, 쓰고 싶은 스크립트입니다 you& 함께 시작합니다.
#!/usr/bin/env python3
사용할 경우:
#!/usr/bin/env python
윈도 2.x 기본 방침이다. 이러한 그럽세) 의 첫 줄에 시작하는 경우 스크립트에 없다! # (lc-fc 이 셔뱅).
그냥 경우 스크립트에만 로 시작합니다.
#! python
그런 다음 변경하십시오:
#! python3
비록 이 짧은 몇 만 서식은 인정받을 수 있기 때문에 프로그램 실행 등 최상의 선택은 아닙니다.
처음 두 참조용이므로 훨씬 더 도움이 될 것으로 널리 쓰이고 있는 어떤 시스템에서든지 작동합니까 파이썬 코드에서 설치되었음.
콩지름에 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))
s = raw_input()
피처름 IDE 에서 이 문제를 해결할 방침이다. 온라인 사이트에 대한 해결) 을 사용할 경우 정확히요 하커랭크.
s = input()
인컨텍스트 할 수 있습니다.
x = raw_input("enter your name")
print "your name is %s " % x
또는:
x = str(input("enter your name"))
print "your name is %s" % x
input_variable = input ("Enter your name: ")
print ("your name is" + input_variable)
합니다 큰따옴표 입력하십시오. 입력되는 단일 또는
Ex:'dude' -> correct
dude -> not correct
다른 누구나 경험할 수 있는 것도 이 문제를 포함시킬 경우, 알고보니 '#! / usr / bin / env python3 는 무시됨 파일의 경우, 맨 앞에 있는' 스크립트에 셔뱅 isn& # 39, t 실행가능파일.
해당 파일을 실행 여부를 결정할 수 있다.
이전 좋은 기여를 한 것으로 나타났다.
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: "))
<, pre>, 당신의 이름을 입력: 조 (& # 39, 아아아안녀어엉 & # 39, & # 39, Joe& # 39, & # 39,, # 39 라티파 & str& &, gt) 아아아안녀어엉 조라네, 끊으렴
보낸 사람 이름: 조 조 < /pre>; 감사합니다!
print ("your name is" + input_variable)
수
print ("your name is", input_variable)
이 때문에 그 사이의 공백 '내 이름은' 와 함께 인쇄 쉼표를 통해 사용자가 원하는 어떤 통보한. 및: '그냥' 대신 사용할 경우, re you& # 39 를 사용하여 2.7 raw_input 입력입니다.