您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用python写入AWS Lambda中的/ tmp目录

使用python写入AWS Lambda中的/ tmp目录

extractAll()提取当前目录中的文件,这取决于/var/task/test- deploy您的情况。

您需要使用os.chdir()更改当前目录:

import os, zipfile

os.chdir('/tmp')
with zipfile.ZipFile(source, 'r') as archive:
    archive.extractall()

更好的是,您可以创建一个临时目录并将文件解压缩到其中,以避免造成污染/tmp

import os, tempfile, zipfile

with tempfile.TemporaryDirectory() as tmpdir:
    os.chdir(tmpdir)
    with zipfile.ZipFile(source, 'r') as archive:
        archive.extractall()

如果要在提取文件后还原当前工作目录,请考虑使用此装饰器:

import os, tempfile, zipfile, contextlib

@contextlib.context_manager
def temporary_work_dir():
    old_work_dir = os.getcwd()
    with tempfile.TemporaryDirectory() as tmp_dir:
        os.chdir(tmp_dir)
        try:
            yield
        finally:
            os.chdir(old_work_dir)

with temporary_work_dir():
    with zipfile.ZipFile(source, 'r') as archive:
        archive.extractall()
python 2022/1/1 18:29:39 有186人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶