2012-01-11 4 views
2

이 코드가 무엇이 잘못되었는지는 알 수 없지만 스크립트를 실행하면 들여 쓰기 오류이 표시됩니다. 내가 스크립트를 실행하려고 할 때 Python :이 클래스 정의에서 잘못된 점은 무엇입니까? (들여 쓰기 오류)

import web 
import json 

urls = (
    '/(.*)', 'handleRequest' 
) 
app = web.application(urls, globals()) 

class handleRequest: 
    def GET(self, method_id): 
     if not method_id: 
      return json.dumps({'ok':0}) 
     else: 
      return json.dumps({'ok': method_id}) 

    def POST(self): 
     i = web.input() 
     pass 

if __name__ == "__main__": 
    app.run() 

내가 얻을 콘솔 오류 메시지입니다 : 내가 들여 쓰기를 체크 한

>>>  def POST(self): 
    File "<stdin>", line 1 
    def POST(self): 
    ^
IndentationError: unexpected indent 
>>>   i = web.input() 
    File "<stdin>", line 1 
    i = web.input() 
    ^

을 -와 같은 4 개 자리는 내가 파일에 걸쳐 사용했다 - 오전 나는 뭔가를 놓친다!

+0

안에 어떤 탭이있을 수 있습니까? –

답변

6

"스크립트를 실행하지"않은 경우 REPL에 입력합니다. 내용을 파일에 저장하고 예를 들어 파일을 실행합니다. python somescript.py.

+0

맞습니다. VIM이 "붙여 넣기"작업 중에 일부 비 공백 (보이지 않는) 문자를 포함하고있는 것처럼 보입니다. 수업은 배웠다. –

5

GET의 끝과 POST의 시작 사이에 줄에 들여 쓰기가 없습니다.

당신이에 있음을 붙여 파이썬 파일을 실행 할 때 확인을해야하지만 (이 나타나는 당신이)가 REPL에 입력 할 때, 파이썬은

0

handleRequest가있는 클래스에 끝으로 빈 줄을합니다 대화 형 세션? 당신은 당신의 방법들 사이에서 줄 바꿈을 할 수 없습니다. (빈 줄은 통역사에게 그 수업이 완료되었음을 알려줍니다)

관련 문제