python上传整个文件夹到七牛云

来源:互联网 发布:apache bench 编辑:程序博客网 时间:2024/06/11 15:15

项目开发经常要把静态的文件放到七牛cdn上,文件夹中的文件需要依据路径来访问,故单个的上传文件设定路径到七牛上效率太低,使用下面的脚本文件可将整个文件夹的内容按照文件夹路径名称整体上传到七牛,免去单个设置路径上传之不便。

# -*- coding: utf-8 -*-'''上传文件夹到七牛'''from qiniu import Auth, put_fileimport osimport tracebackAK = '你的AK'SK = '你的SK'# 要上传的文件夹绝对路径dir = 'C:\\tmp\public'bucket_name = '空间名称'q = Auth(AK, SK)token = q.upload_token(bucket_name)def updir(dirpath):    if os.path.isdir(dirpath):#文件夹        sublist = os.listdir(dirpath)        for sub in sublist:            updir(dirpath+'\\'+sub)    else:#文件        fpath, fname = os.path.split(dirpath)        patharr = fpath.split('\\')        try:            key = getKey(dirpath)            print key            ret, info = put_file(token, key, dirpath)            print ret        except:            traceback.print_exc()def getKey(file):    key = ''    fpath, fname = os.path.split(file)    patharr = fpath.split('\\')    if len(patharr) >= 2:        key = '/'.join(patharr[2:]) + '/' + fname    else:        key = fname    return keyif __name__ == '__main__':    updir(dir)
原创粉丝点击