python-blosc2自定义Filter压缩时出现AttributeError问题排查
解决python-blosc2自定义Filter压缩时的AttributeError问题
问题根源
你的代码误用了参数名:blosc2.compress函数接受的是复数形式的filters参数,而非单数的filter。传入单数filter时,库内部会错误地将其当作字符串处理,从而抛出'str' object has no attribute 'name'异常。
修正后的代码
import blosc2 import numpy as np a = np.random.rand(1000, 1000) # 使用复数形式的filters参数,传入Filter枚举组成的列表 compressed_data = blosc2.compress(a, codec='blosclz', clevel=5, filters=[blosc2.Filter.SHUFFLE])
扩展用法
如果需要叠加多个过滤器,只需在列表中添加对应的枚举值即可:
# 同时启用SHUFFLE和BITSHUFFLE过滤器 compressed_data = blosc2.compress(a, codec='blosclz', clevel=5, filters=[blosc2.Filter.SHUFFLE, blosc2.Filter.BITSHUFFLE])
内容的提问来源于stack exchange,提问作者Helmut
相关产品推荐
相关产品推荐

