2015-07-19 67 views
0

我试图创建一个zip文件上传到AWS Lambda,但我似乎无法正确创建zip文件。创建一个没有任何目录信息的Python 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

不熟悉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 
相关问题