<p>Python有一个<a href="https://pypi.org/project/keyboard/" rel="nofollow noreferrer">keyboard</a>模块,具有许多特性。安装它,可能需要使用以下命令:</p>
<pre><code>pip install keyboard
</code></pre>
<p>然后在如下代码中使用它:</p>
<pre><code>import keyboard
keyboard.add_hotkey('up', lambda: keyboard.write('write command retrieved from the history of your shell here'))
keyboard.wait('esc')
</code></pre>
<p>或者您可以使用按键上的功能
使用\上的功能按\键:</p>
<pre><code>keyboard.on_press_key("p", lambda _:print("You pressed p"))
</code></pre>
<p>它需要一个回调函数。我使用了u,因为键盘函数将键盘事件返回给该函数</p>
<p>一旦执行,它将在按键时运行该功能。通过运行以下命令行,可以停止所有挂钩:</p>
<pre><code>keyboard.unhook_all()
</code></pre>
<p>有关详细信息,您可以在stackoverflow上看到类似的帖子,希望这对您有所帮助
<a href="https://stackoverflow.com/questions/24072790/detect-key-press-in-python">detect key press in python?</a></p>
<p><strong>旁注:</strong>
您在python中提到了fork()方法,我们可以使用</p>
<p><strong>子流程</strong>这里内置了模块,所以导入子流程,我们就可以开始了。这里特别使用run函数来执行子shell中的命令。对于那些来自C语言的人来说,这使我们不必进行分叉和创建子进程,然后等待子进程完成执行,让Python来处理这一次</p>
<p>用于执行用户输入的命令的示例代码</p>
<pre><code>def execute_commands(command):
try:
subprocess.run(command.split())
except Exception:
print("psh: command not found: {}".format(command))
</code></pre>