【发布时间】:2020-06-10 20:50:04
【问题描述】:
谁能给我一个关于如何运行 asyncio 脚本以在完成时停止的提示?我知道这与我将主循环设置为运行方式有关...在完整代码的这一部分中,但是我从网上可以找到的任何尝试都行不通。
loop = asyncio.get_event_loop()
try:
asyncio.ensure_future(firstWorker())
asyncio.ensure_future(secondWorker())
loop.run_forever()
下面的脚本只是在脚本完成时尝试将随机数据编译成 pandas 数据帧但我无法完成它!任何提示都非常感谢...
完整代码:
import asyncio
import pandas as pd
from datetime import datetime
import random
data = []
async def firstWorker():
for _ in range(5):
await asyncio.sleep(1)
things = {}
stamp = datetime.now()
temperature1 = (random.random() * 20) - 5
print(temperature1)
things['Date'] = stamp
things['temperature1'] = temperature1
data.append(things)
async def secondWorker():
for _ in range(5):
await asyncio.sleep(1)
stuff = {}
stamp = datetime.now()
temperature2 = (random.random() * 40) - 15
print(temperature2)
stuff['Date'] = stamp
stuff['temperature2'] = temperature2
data.append(stuff)
loop = asyncio.get_event_loop()
try:
asyncio.ensure_future(firstWorker())
asyncio.ensure_future(secondWorker())
loop.run_forever()
except KeyboardInterrupt:
pass
finally:
print("Closing Loop")
loop.close()
master_data = pd.DataFrame(data)
master_data.columns = ['Date','temperature1','temperature2']
master_data.to_csv('master_data.csv')
【问题讨论】:
标签: python pandas python-asyncio