python-asyncio相关内容

background_task.py 不显示消息 - Python

我注意到,当我从 discord.py Github 页面运行代码片段时,它没有显示预期的消息. 我稍作修改的代码: 导入不和谐导入异步导入嵌套异步nest_asyncio.apply()MyClient 类(discord.Client):def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs)# 创建后台 ..
发布时间:2022-01-15 08:15:55 Python

如何修复运行时错误:无法关闭正在运行的事件循环 - Python Discord Bot

我正在尝试使用 Python 创建一个 Discord 机器人,但是每当我在这里运行示例代码时: 导入不和谐客户端 = 不和谐.客户端()@client.eventasync def on_message(消息):# 我们不希望机器人回复自己如果 message.author == client.user:返回如果 message.content.startswith('!hello'):msg ..
发布时间:2022-01-15 08:03:08 Python

Discord.py Bot 的权限系统

我正在使用 discord.py 和 asyncio 制作一个不和谐机器人.该机器人具有像 kick 和 ban 这样的命令,显然普通用户不应该使用这些命令. 我想制作一个简单的系统,该系统将使用 ctx.message.author 检测用户角色的权限,以获取发送命令的用户. 我不希望机器人检测到特定角色名称,因为这些名称因服务器而异.我也不想让机器人有多个文件以保持简单. 我 ..
发布时间:2022-01-15 00:05:24 Python

@client.event 到底是什么?不和谐.py

几天前,我开始对编写不和谐机器人有点兴趣.在这些程序的语法中,我注意到很多我无法找到答案的难以理解的问题.这就是为什么我要求您帮助理解它们. 所有问题都基于此代码: 导入不和谐导入异步从 discord.ext 导入命令botToken = '***'客户端 = commands.Bot(command_prefix = '.')@client.eventasync def on_read ..
发布时间:2022-01-15 00:05:07 Python

使用 Subprocess 来避免长时间运行的任务断开 discord.py bot?

我为我的 Discord 服务器创建了一个机器人,它会转到给定 subreddit 的 Reddit API,并根据您输入的 subreddit 在 Discord 聊天中发布当天的前 10 个结果.它不理会自己的帖子,实际上只发布图片和 GIF.Discord 消息命令看起来像这样:=get funny awww news programming,从 Reddit API (PRAW) 获取每个 ..
发布时间:2022-01-14 23:55:41 其他开发

PyQt5 和 asyncio:从永不完成的收益

我正在尝试创建一个基于 PyQt5 和 asyncio 的新应用程序(使用 python 3.4,期待最终通过 async/await 升级到 3.5).我的目标是使用 asyncio,以便即使应用程序正在等待某些连接的硬件完成操作,GUI 也能保持响应. 在查看如何合并 Qt5 和 asyncio 的事件循环时,我发现了一个 邮件列表发帖,建议使用quamash.但是,在运行这个示例(未修 ..
发布时间:2022-01-12 23:27:48 Python

在单独的线程中运行异步循环,信号来自和循环

我正在尝试制作一个在后台与多个 BLE 设备进行通信的 UI.为此,我实现了一个运行 asyncio.loop 的单独线程.这是必要的,因为我使用 bleak 0.9.1 连接到设备. 使用信号和槽将数据从 UI 线程获取到工作线程可以正常工作.但是,它在另一个方向上不起作用.据我所知,这是因为线程忙于运行循环并且永远不会停止这样做.因此,它无法处理来自 UI 线程的输入. 下面有一个 ..
发布时间:2022-01-12 23:08:05 Python

我可以以某种方式与子进程共享一个异步队列吗?

我想使用队列将数据从父进程传递到通过 multiprocessing.Process 启动的子进程.但是,由于父进程使用 Python 的新 asyncio 库,队列方法需要是非阻塞的.据我了解, asyncio.Queue 用于任务间通信,不能用于进程间通信.另外,我知道 multiprocessing.Queue 有 put_nowait() 和 get_nowait() 方法,但我实际上需要 ..
发布时间:2022-01-12 12:42:23 Python

为什么在 python 中对 asyncio 服务器的多个请求的时间会增加?

我用套接字编写了一个 pythonic 服务器.它应该同时(并行)接收请求并并行响应它们.当我向它发送多个请求时,回复的时间比我预期的要长. 服务器: 导入日期时间导入异步,timeit导入json,回溯从异步导入 get_event_loop请求列表 = []循环 = asyncio.get_event_loop()async def handleData(reader, writer) ..

将 asyncio 与多处理结合起来会出现什么样的问题(如果有的话)?

当他们第一次看到 Python 中的线程时,几乎每个人都知道,对于那些真正想要并行处理的人来说,GIL 让他们的生活变得悲惨——或者至少给它一个机会. 我目前正在考虑实现类似反应堆模式的东西.实际上,我想在一个类线程上监听传入的套接字连接,当有人尝试连接时,接受该连接并将其传递给另一个类线程进行处理. 我(还)不确定我可能面临什么样的负载.我知道目前对传入消息设置了 2MB 的上限.从 ..

Python 3 中的多处理、多线程和异步

我发现在 Python 3.4 中有几个不同的多处理/线程库:multiprocessing vs 线程 vs asyncio. 但我不知道该使用哪一个或者是“推荐的".他们做同样的事情,还是不同?如果是这样,哪一个用于什么?我想在我的计算机上编写一个使用多核的程序.但我不知道我应该学习哪个库. 解决方案 它们用于(稍微)不同的目的和/或要求.CPython(一个典型的主线 Pyth ..

如何在 FastAPI 中进行多处理

在处理 FastAPI 请求时,我需要对列表的每个元素执行 CPU 密集型任务.我想在多个 CPU 内核上进行此处理. 在 FastAPI 中执行此操作的正确方法是什么?我可以使用标准的 multiprocessing 模块吗?到目前为止,我发现的所有教程/问题都只涉及 I/O 绑定任务,例如 Web 请求. 解决方案 async def端点 您可以使用 loop.run_in ..
发布时间:2022-01-12 12:16:51 Python

最大化并行请求数 (aiohttp)

tl;dr:如何最大化可以并行发送的 http 请求数? 我正在使用 aiohttp 库从多个 url 获取数据.我正在测试它的性能,我观察到在这个过程中的某个地方存在瓶颈,一次运行更多的 url 无济于事. 我正在使用此代码: 导入异步导入 aiohttp异步 def fetch(url, session):headers = {'User-Agent': 'Mozilla/5.0 ..
发布时间:2022-01-05 15:36:08 Python

如何在 Jupyter 笔记本中运行 Python 异步代码?

我有一些在 Python 解释器 (CPython 3.6.2) 中运行良好的异步代码.我现在想在带有 IPython 内核的 Jupyter notebook 中运行它. 我可以运行它 导入异步asyncio.get_event_loop().run_forever() 虽然这似乎有效,但它似乎也挡住了笔记本,并且似乎与笔记本不兼容. 我的理解是 Jupyter 在幕后使用 To ..
发布时间:2021-12-31 23:11:51 Python