我正在使用的一个 python 模块提供了一个钩子,允许在将用户键盘输入发送到 shell 终端之前捕获它。我面临的问题是它逐个字符地捕获输入,这使得当用户执行退格或移动光标等操作时难以捕获输入命令。
例如,给定字符串exit\x1b[4D\x1b[Jshow 我自己 out,将发生以下情况:
>>> a = exit\x1b[4D\x1b[Jshow myself out
>>> print(a)
show myself out
>>> with open('file.txt', 'w+') as f:
>>> f.write(a)
>>> exit()
less abc.txt
less 命令显示原始命令(exit\x1b[4D\x1b[Jshow 我自己出来),而实际上我希望它“干净”地存储,因为它在使用打印功能时显示(展示自己)。
打印结果,或者'cat'ing文件显示了我想要显示的内容,但我在这里猜测终端正在转换输出。
有没有办法使用一些 python 模块或一些 bash 实用程序来实现对文件的“干净”写入?肯定有一些模块可以为我做到这一点吗?