Python AssertionError:来自非盈利组织的收益率';不用于将来
此代码:Python AssertionError:来自非盈利组织的收益率';不用于将来,python,python-3.x,python-asyncio,Python,Python 3.x,Python Asyncio,此代码: import asyncio async def wee(): address = 'localhost' port = 5432 reader, writer = asyncio.open_connection(address, port) message = '/t' print('Send: %r' % message) writer.write(message.encode()) async def main(): t2
import asyncio
async def wee():
address = 'localhost'
port = 5432
reader, writer = asyncio.open_connection(address, port)
message = '/t'
print('Send: %r' % message)
writer.write(message.encode())
async def main():
t2 = asyncio.ensure_future(wee())
await t2
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
…生成一个错误断言error:yield from未与future一起使用
通过此回溯:
Traceback (most recent call last):
File "ssh_as.py", line 20, in <module>
loop.run_until_complete(main())
File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/base_events.py", line 337, in run_until_complete
return future.result()
File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/futures.py", line 274, in result
raise self._exception
File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/tasks.py", line 241, in _step
result = coro.throw(exc)
File "ssh_as.py", line 16, in main
await t2
File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/futures.py", line 358, in __iter__
yield self # This tells Task to wait for completion.
File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/tasks.py", line 290, in _wakeup
future.result()
File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/futures.py", line 274, in result
raise self._exception
File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/tasks.py", line 239, in _step
result = coro.send(None)
File "ssh_as.py", line 9, in wee
reader, writer = asyncio.open_connection(address, port)
File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/streams.py", line 64, in open_connection
lambda: protocol, host, port, **kwds)
File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/base_events.py", line 599, in create_connection
yield from tasks.wait(fs, loop=self)
File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/tasks.py", line 341, in wait
return (yield from _wait(fs, timeout, return_when, loop))
File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/tasks.py", line 424, in _wait
yield from waiter
File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/futures.py", line 359, in __iter__
assert self.done(), "yield from wasn't used with future"
AssertionError: yield from wasn't used with future
回溯(最近一次呼叫最后一次):
文件“ssh_as.py”,第20行,在
循环。运行\u直到完成(main())
文件“/usr/local/cillar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/base_events.py”,第337行,运行_直到完成
返回future.result()
文件“/usr/local/ceral/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/futures.py”,第274行,结果
提出自己的意见
文件“/usr/local/ceral/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/tasks.py”,第241行,步骤
结果=核心投掷(exc)
文件“ssh_as.py”,第16行,在main中
等待t2
文件“/usr/local/ceral/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/futures.py”,第358行,在__
屈服自我——这告诉任务等待完成。
文件“/usr/local/ceral/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/tasks.py”,第290行,在“唤醒”中
future.result()
文件“/usr/local/ceral/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/futures.py”,第274行,结果
提出自己的意见
文件“/usr/local/ceral/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/tasks.py”,第239行,分步执行
结果=coro.send(无)
文件“ssh_as.py”,第9行,wee格式
读写器=asyncio.open\u连接(地址、端口)
文件“/usr/local/cillar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/streams.py”,第64行,开放式连接
lambda:协议、主机、端口,**kwds)
文件“/usr/local/ceral/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/base_events.py”,第599行,位于create_connection中
从任务中获得收益。等待(fs,loop=self)
文件“/usr/local/ceral/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/tasks.py”,第341行,正在等待
返回(从_wait(fs、超时、返回_when、循环)得到的收益)
文件“/usr/local/ceral/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/tasks.py”,第424行,在等待中
侍者的让步
文件“/usr/local/ceral/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/futures.py”,第359行,在__
assert self.done(),“未将从中获得的收益用于future”
AssertionError:future没有使用收益率
如果我只使用一个变量,而不是将asyncio.open\u连接解包到reader、writer和just to
dummy=asyncio.open\u连接(…
没有这样的错误,尽管虚拟对象不能作为文档的StreamReader
使用-类型错误:'generator'对象不可订阅
。完全不知道会发生什么,请帮助。您需要更改异步。打开\U连接(地址、端口)
line towait asyncio.open\u connection(地址、端口)
。open connection返回一个future/promise等,您需要“wait”该结果才能访问其内容