Python初学者请教:以下这段代码为什么会出错呢?
‘’
import logging;logging.basicConfig(level=logging.INFO)
import async, os, json, time
from datetime import datetime
from aiohttp import web
def index(request):
return web.Response(body=b’<h1>Awesome</h1>’)
@async.coroutine
def init(loop):
app = web.Application(loop=loop)
app.router.add_route(‘GET’, ‘/’, index)
srv = yield from loop.create_server(app.make_handler(),‘127.0.0.1’,9000)
logging.info(‘server started at http://127.0.0.1:9000…’)
return srv
loop = async.get_event_loop()
loop.run_until_complete(init(loop))
loop.run_forever()
"
运行上面的代码为什么会出现下面的错误?
srv=yield from loop.create_server(app.make_handler(),‘127.0.0.1’,9000)
^
SyntaxError: invalid syntax
Python初学者请教:以下这段代码为什么会出错呢?
缩进
我无法理解你的问题
空格还是缩进?
invalid syntax
我没找到哪里缩进有问题……感觉自己好傻逼~
语法错误。我猜是 yield from 这里错了,但是我没有用过 Python3.5 的 async 和 aiohttp ,所以不清楚具体哪里错了
用的 python3 的接收器?
解释器
首先,你用的得是 python3
第二,你这代码哪里抄的,确定有 module 名字叫 async 吗。。。不应该是 asyncio 吗。。。
yield from?
多了 from 吧
廖雪峰 python 教程。。
显然不是,我搜了下你说的那个教程,那个代码是没错的。。。
http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014320981492785ba33cc96c524223b2ea4e444077708d000
http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143217133614028a244ea855b40a586b551c616d3b2c9000
可能楼主看了假的教程。。。
另外,别听楼上那些说 yield from 的。。。这是合法关键字
https://www.python.org/dev/peps/pep-0380/
python 3.3 加入的
另外楼主要用 asyncio ,建议 python 3.5 以上
python3 环境下 使用 asyncio 就好了
有问题可以加我们的群问,这样效率更高,这个群是一群工程师组建的面向初学者的
Python Linux 学习群, qq 群号: 278529278 ,
Php Linux 学习群, qq 群号: 476648701 ,
非商业性质,拒绝广告,只接收真正想学这方面技术的朋友,交流学习,申请请说明来自 v2ex


