Python:这个类定义有什么问题(缩进错误)

时间:2012-01-11 12:53:43

标签: python

我似乎无法看到这段代码有什么问题,但是当我运行脚本时,我得到了一个 IndentationError

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个空格 - 我错过了什么?!

3 个答案:

答案 0 :(得分:6)

您没有“运行脚本”,而是在REPL中键入它。将内容保存到文件并通过例如文件执行python somescript.py

答案 1 :(得分:5)

GET的结尾与POST的开头之间的行没有缩进。

当python正在执行文件但在输入REPL时(因为它看起来是这样),这应该没问题,python将空行作为类handleRequest的结束

答案 2 :(得分:0)

您是否将其粘贴到交互式会话中?您的方法之间不能换行(空行告诉解释器该类已完成)