[英]Return a list from asyncio function
我從下面有以下代碼。 我知道在某處可能是錯誤的,但是在運行后可以返回列表電報列表必須怎么辦? 只想可以全局訪問列表項?
telegramlist = []
telegramchannellist = ['TelethonChat-anti-kyle']
async def telegram_method():
api_id = '*'
api_hash = '*'
client = TelegramClient('trendingsesion', api_id, api_hash)
client.start()
telegramdict = {}
for ch in telegramchannellist:
channel_username = ch
channel_entity = client.get_entity(channel_username)
posts = client(GetHistoryRequest(
peer=channel_entity,
limit=1,
offset_date=None,
offset_id=0,
max_id=0,
min_id=0,
add_offset=0,
hash=0))
telegramdict[ch] = posts.messages # here if i write .messages shows a weird error, he want to be only posts
telegramlist = list(telegramdict.values())
return telegramlist
shuffle(telegramchannellist)
if __name__ == '__main__':
loop = asyncio.get_event_loop()
telegramlistt = loop.run_until_complete(asyncio.gather(telegram_method()))
loop.close()
您在main
協程中缺少await
。 已更正,它看起來像這樣:
async def main():
telegramlist = await telegram_method()
return telegramlist
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.