我有多个总共达到1TB的.gz文件。
如何使用Python 2.7并行解压这些文件?
循环文件需要太多时间。
我也尝试了以下代码:
我也尝试了以下代码:
filenames = [gz for gz in glob.glob(filesFolder + '*.gz')]
def uncompress(path):
with gzip.open(path, 'rb') as src, open(path.rstrip('.gz'), 'wb') as dest:
shutil.copyfileobj(src, dest)
with multiprocessing.Pool() as pool:
for _ in pool.imap_unordered(uncompress, filenames, chunksize=1):
pass
但是我遇到了以下错误:
with multiprocessing.Pool() as pool:
AttributeError: __exit__
谢谢!
with
结构,内部使用的对象必须具有__enter__
和__exit__
方法。错误提示表明Pool
类没有这些方法,因此无法在with
语句中使用它。 - 0xc0de