如何取消读取 Python 中的单个字符?
How to unread a single char in Python?
我需要从 stdin 读取一个字符,然后取消读取它,以便下次调用输入法时,该字符应该包含在结果中。在 C++ 中,cin.putback 执行此操作。 Python 中的等价物是什么?
请注意,我不需要混合不同的输入 methods/functions。
Python中没有简单的模拟。
最好的办法可能是将字符读入程序中的列表,然后再从该列表中使用它们。
在Python3、sys.stdin
has a property called buffer
that is an instance of io.BufferedReader
and so has a peek
方法中。这应该允许您执行 sys.stdin.buffer.peek(1)[:1]
,这样您就可以查看标准输入中的下一个字符而无需阅读(使用)它。
我找到了一个名为 CIn 的 Python 模块,它完全符合我的要求。它在 GitHub 可用:https://github.com/abhishekkr200802/CIn
我需要从 stdin 读取一个字符,然后取消读取它,以便下次调用输入法时,该字符应该包含在结果中。在 C++ 中,cin.putback 执行此操作。 Python 中的等价物是什么?
请注意,我不需要混合不同的输入 methods/functions。
Python中没有简单的模拟。
最好的办法可能是将字符读入程序中的列表,然后再从该列表中使用它们。
在Python3、sys.stdin
has a property called buffer
that is an instance of io.BufferedReader
and so has a peek
方法中。这应该允许您执行 sys.stdin.buffer.peek(1)[:1]
,这样您就可以查看标准输入中的下一个字符而无需阅读(使用)它。
我找到了一个名为 CIn 的 Python 模块,它完全符合我的要求。它在 GitHub 可用:https://github.com/abhishekkr200802/CIn