簡體   English   中英

創建沒有任何目錄信息的python zip

[英]creating a python zip without any directory info

我正在嘗試創建一個要上傳到AWS Lambda的zip文件,但是似乎無法正確創建該zip文件。

我需要使用以下代碼創建一個僅包含文件本身的zip文件:

def zipdir(path, ziph):
    for root, dirs, files in os.walk(path):
        for file in files:
            filepath = os.path.join(root, file)
            if file == 'config.json' or file.startswith('.'):
                pass
            else:
                info = zipfile.ZipInfo(filename=file)
                ziph.write(filename=filepath, arcname='./' + file)

我成功創建了檔案,但始終在與檔案同名的目錄中獲取文件內容。

如果我壓縮:

code.js

然后解壓縮,testing.zip我將得到:

testing/code.js

如何防止目錄創建?

不熟悉python,但我改用Makefile

create:
    [ -e "pkg.zip" ] && rm pkg.zip &2> /dev/null
    zip -r pkg.zip . \
        --exclude=test* \
        --exclude=node_modules/aws-sdk*
    aws lambda create-function \
        --function-name $(func) \
        --zip-file fileb://pkg.zip \
        --role arn:aws:iam::YOUR_ACCOUNT_ID:role/gff_lambda \
        --handler index.handler \
        --timeout 30 \
        --runtime nodejs

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM