python - 如何避免在 Python 文件输入库中缓冲

标签 python readline buffering file-io readlines

我在这里看到过这个问题,但给出的答案在我的案例中不起作用,并且被标记为重复。

我深入研究了源代码 ( /usr/lib/python3.2/fileinput.py ),发现 readlines(bufsize) 在内部用于加载缓冲区。没有外壳或其他管道恶作剧。

最佳答案

对我有用的是简单地设置 FileInput(bufsize=1)file.readlines() 文档确实声明“可选的大小参数(如果给定的话)是返回行中总字节数的近似界限。”实际上,我每次都得到一个新行,而不必填充缓冲区。

with fileinput.input(bufsize=1) as f:
    for line in f:
        print("One line in, one line out!")

关于python - 如何避免在 Python 文件输入库中缓冲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15012340/

相关文章:

python - 使用 `xarray.Dataset.to_zarr` 函数打印上传进度

python - 在 python 中使用 sleep 制作一个计时器。如何考虑计算时间?

node.js - 如何使用quirer.prompt为输入添加前缀

java - 有没有办法知道用户是否使用 readline() 方法按下了 ENTER 键? - java

Mysql通过缓冲降低CPU使用率

WCF 流和 maxReceivedMessageSize

java - 缓冲的 RandomAccessFile java

python - 在函数内保存变量 - python

python - Pygame 程序停止响应,没有错误

python - 使用 python 在命令行上键入时完成