gpt4 book ai didi

Python:如何按字节 block 从标准输入读取直到 EOF?

转载 作者:太空宇宙 更新时间:2023-11-03 14:31:43 24 4
gpt4 key购买 nike

我想从标准输入中逐 block 读取直到 EOF。例如,我可能有一个非常大的文件,我想从 STDIN 一次读入并处理 1024 个字节,直到遇到 EOF。我见过 sys.stdin.read() 它将所有内容一次保存在内存中。这是不可行的,因为可能没有足够的空间来存储整个文件。还有“line in sys.stdin”,但它仅通过换行符分隔输入,这不是我正在寻找的。有什么方法可以用Python来完成这个任务吗?

最佳答案

文件对象的 read() 方法接受可选的 size 参数。

如果指定size,则最多读取并返回 size 字节。如果到达文件末尾,f.read() 将返回一个空字符串 ('')。

请参阅io docsopen() docs .

伪代码:

with open('file') as f:
while True:
buffer = f.read(1024) # Returns *at most* 1024 bytes, maybe less
if buffer = '':
break
process_data(buffer)

关于Python:如何按字节 block 从标准输入读取直到 EOF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47232558/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com