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个空格,难道我还漏掉了什么吗?!
3 个回答
0
你是在一个交互式的环境里粘贴这个吗?你不能在你的方法之间留空行(空行会让解释器认为这个类已经结束了)
5
在GET
结束和POST
开始之间的那一行没有缩进。
在Python执行一个文件的时候,这样是没问题的。但是如果你是在REPL环境中输入(看起来你是在这样做),Python会把那空行当作是handleRequest
这个类的结束。
6
你不是在“运行脚本”,而是在REPL中输入它。把内容保存到一个文件里,然后通过比如 python somescript.py
来执行这个文件。