import asyncio
async def wget(hots):
print('wget %s...' % hots)
content=asyncio.open_connection(hots,80)
reader, writer = await content
header='GET / HTTP / 1.0 \r\n Host:%s\r\n\n' % hots
await writer.write(header.encode('utf-8')) ################这里有问题#################
await writer.drain()
while True:
line = await reader.readline()
if line ==b'\r\n':
break
print('%s header > %s' % (hots, line.decode('utf-8').rstrip()))
writer.close()
loop = asyncio.get_event_loop()
tasks= [wget(host) for host in ['www.sina.com.cn', 'www.sohu.com', 'www.163.com']]
loop.run_until_complete(asyncio.wait(tasks))
loop.close()
我理解的是 await 可以在任何地方进行等待。但是运行到这里会报错
await writer.write(header.encode('utf-8')) ################这里有问题#################
如果进行如下修改就不会报错
writer.write(header.encode('utf-8')) ################这里有问题#################
问题:
1.主要是想问一下await可以用在那些情况下
2.为什么我这种情况下会报错