如何从文件描述符中删除最后两个字节?

时间:2019-03-22 03:17:53

标签: python

当前,我使用的是低级os.writeos.read函数,用于从文件描述符读取内容或将内容写入文件描述符。

os.write(fd, b'echo hi')
os.write(fd, b' && echo foo')

现在已成功写入fd,我想从fd中删除最后两个字节。但是我不知道该如何实现。似乎os.read(fd, 2)不能正常工作。它是否从fd中删除了最后2个字节?

(child_pid, fd) = pty.fork()

实际上我从fd那里获得了pty.fork(),这创建了一个子进程。

实际上,我从用户那里获取输入并写入pty,并且我不希望用户写\ q [enter],因此当用户输入“ enter btn”时,我必须检查是否最后2个已经写入fd的字节不是\\q,如果是这样,那么我必须从fd中删除最后2个字节。

还有其他方法可以实现这种行为吗?

部分地,我可以通过使用最大长度设置为collections.deque的{​​{1}}来实现此行为。

因此,在将字节或字符写入2之前,我必须将字符附加到已定义的fd中。在将char(queue)写入fd之前,我将检查队列的第0位和第1位不是\r\\。如果是,那么我只是放弃回车以写入q,但要注意fd已经写入\q

0 个答案:

没有答案