只是对Aya的回答进行了小幅改进,使事情变得更加惯用(尽管我正在删除一些错误检查以使机制更明显):
BLOCK_SIZE = 1024with tarfile.open("zero.tar.gz") as tardude: for member in tardude.getmembers(): with tardude.extractfile(member.name) as target: for chunk in iter(lambda: target.read(BLOCK_SIZE), b''): pass
这实际上只是删除了
while 1:(有时被认为是轻微的代码异味)和
if not data:检查。另请注意,使用
with限制将其限制为Python
2.7+
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)