How to simulate python key presses in Google Collab notebook?(如何在Google Collab笔记本中模拟Python按键?)
问题描述
我已经用Python开发了一个Collab笔记本,它打算模拟键盘按键,以便玩一个游戏,作为强化学习的一部分,它将监控该游戏。我尝试使用了几个建议(如pyautogui、Quartz等),但我甚至无法导入这些库。
例如,当我安装pyautogui和Xlib并尝试导入pyautogui时,它显示KeyError:‘display’。但是,从终端运行时,pyautogui在我的本地计算机上工作正常。
同样,在将(!PIP Install pynput)pynput安装到Collab笔记本后,当我尝试将其导入时,它显示DisplayNameError:Bad Display Name"",我对此一无所知。
我甚至尝试了getkey模块,但是从getkey导入getkey,key没有成功。
有没有办法让它正常工作?另外,有谁能解释一下为什么这些模块在我的本地硬件上工作得很好,但在Google Collab上却不行?另外,请推荐可以在Collab上运行良好的这些模块的任何替代方案?
非常感谢。
推荐答案
当您在本地计算机上使用此类模块时,它将与硬件连接以获取鼠标/键盘/监视器事件。
但是,Google Colab在Google Cloud中的计算机实例上运行。那里的Python无法访问您的键盘/监视器。您只能通过浏览器与Colab交互。另一种方法是使用JavaScript获取这些事件并将其传递给Python。 我在这里举例说明如何从JS连接到PY,作为要点。
https://gist.github.com/korakot/d10a43490f3da17d4915cdc1f200b180
我警告你,这件事很难做。必须实现JS和PY之间的来回传递操作。
我建议您只在本地计算机上执行此操作。如果您喜欢Colab,您可以使用本地运行时。
https://research.google.com/colaboratory/local-runtimes.html
这篇关于如何在Google Collab笔记本中模拟Python按键?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在Google Collab笔记本中模拟Python按键?
基础教程推荐
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
