我正在使用 Lambda Python 运行时 v3.12,似乎
Gzip
二进制文件已从此 Lambda 运行时中删除。这条线破坏了我的代码,但它按预期工作,直到 Lambda Python 运行时 v3.7:
subprocess.call(['gzip', '-d', '/tmp/' + object_name + '.gz'])
我在运行时 3.12 上收到此错误:
[Errno 2]没有这样的文件或目录:'gzip'
请告诉我是否有办法在 Lambda Python 运行时 v3.12 中找到这个
gzip
二进制文件并在我的代码中使用它?
我在较旧的运行时尝试过,它在 v3.7 上工作
我尝试使用带有以下代码片段的 Python gzip 包,但遇到了错误。
我尝试过的代码片段:
with gzip.open('/tmp/' + object_name + '.gz', 'rb') as f:
file_content = f.read()
gzip_decompressed_byte_output=gzip.decompress(file_content)
open('/tmp/' + object_name, "wb").write(gzip_decompressed_byte_output)
print("Directory contents after Docoding Gzip: ", os.listdir("/tmp/"))
错误:
gzip_decompressed_byte_output=gzip.decompress(file_content) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 文件“/var/lang/lib/python3.12/gzip.py”, 第 627 行,在解压缩中,如果 _read_gzip_header(fp) 为 None: ^^^^^^^^^^^^^^^^^^^^^^^ 文件“/var/lang/lib/python3.12/gzip.py”,行 456,在 _read_gzip_header 中 raise BadGzipFile('不是 gzip 压缩文件 (%r)' % magic) gzip.BadGzipFile: 不是 gzip 压缩文件 (b'
如果我搞砸了,请指导?