【发布时间】:2019-03-12 23:06:15
【问题描述】:
首先,道歉。我对 Python 很陌生。我来自 Java/C# 编码背景。我在很多方面都喜欢 Python 的简单性,但也发现一些标准很难确定。
例如,我成功地让 Discord Bot 运行。异步方法运行良好。但我想安排一个工作每(比如)30 分钟运行一次。但是,当我输入 asyncio.run(job()) 时,Python 告诉我“run”不是 asyncio 的属性。我真的不知道为什么会这么说。哎呀,asyncio 甚至是“正确”的方法吗?
不和谐导入是否可能以某种方式掩盖了它?我想我可能需要买一本书什么的!
再次感谢。我确实尝试过搜索,但没有任何结果!
【问题讨论】:
-
Asycio 不容易上手。我建议你先阅读this guide。
-
啊,所以也许我看到了我的问题。我需要得到一个“event_loop”,然后“运行”它。 “run_forever”会在后台运行并继续执行下一个命令吗?还是只会阻塞?如果可以释放它,我可以在我的代码中添加“睡眠”。
-
你应该添加一些代码,这样我们就可以看到你在尝试什么。
-
asyncio.run不是正确的做法,因为client.run已经在discord.py中启动了一个事件循环——一次只能有一个事件循环! -
run可能不是asyncio的属性,因为它仅在 Python 3.7 中添加——您“运行”哪个 Python 版本? :-)
标签: python python-asyncio discord discord.py