我正在尝试创建一个zip文件以上传到AWS Lambda,但我似乎无法正确创建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
如何阻止创建目录?
答案 0 :(得分:0)
不熟悉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