我想知道如何从文件中读取单个(可能是多字节)字符(例如sys.stdin),而不必等待任何其他字符,行尾或文件末尾。主要用途是能够在角色可用时立即从标准输入读取。
我主要使用的是python 3。
以下代码说明了在C中执行此操作的方法,其中读取字符只是立即打印到标准输出:
#include <stdio.h>
#include <wchar.h>
#include <locale.h>
int main(void)
{
setlocale(LC_CTYPE, "");
wint_t wc;
while ((wc = fgetwc(stdin)) != WEOF)
{
fputwc(wc, stdout);
}
}
答案 0 :(得分:2)
这样的东西?
import sys
import functools
for c in iter(functools.partial(sys.stdin.read, 1), ''):
print(c)