我在python中有一种情况,我需要循环来自NUL分离流的项目,其格式类似于find /somewhere -print0
的输出
READ_SIZE
。)我觉得我在这里遗漏了一些东西,比如fd.readlines()
,但是\ 0而不是\ n)
这是我目前用来解决这个问题的方法:
READ_SIZE = 2**14
def readitems(fd):
buffer = b''
last = fd.read(READ_SIZE)
while(last):
x = last.split(b'\0')
for i in range(len(x)-1):
yield buffer + x[i]
buffer = b''
buffer += x[-1]
last = fd.read(READ_SIZE)
如果我真的没有内置的方法可以做到这一点,那么欢迎所有更快速和/或更清洁的解决方案。