Python 转移文件至云对象存储的方法

对象存储(Cloud Object Storage,COS)是一种存储海量文件的分布式存储服务,具有高扩展性、低成本、可靠安全等优点。

对象存储有什么用呢?对于站长而言,比如Python实用宝典网站的服务器位于腾讯云香港,大陆访问速度会比较慢,这时候我可以将图片等静态资源转移到对象存储上,以提高用户的访问速度。

实际上,这两天我就对Python实用宝典做了这样的调整,搭配上懒加载,效果极佳,用户访问并渲染图片的过程所耗费的时间大大减少,大家可以访问Python实用宝典网体验一下:
https://pythondict.com

那么对于非站长的普通用户有什么用?相比于其他什么百度网盘之类的产品,COS最重要的优势是:

  • 上传下载不限速,数据中心多地任选
  • 能实现文件分享功能,同样不限速
  • 能自动创建文件历史备份,方便回溯办公文件
  • 支持各平台用客户端管理文件,电脑端甚至还可直接将网盘挂载为一个虚拟磁盘
  • 价格按用量计费(存储量、下行流量),免费额度用完后,你可能一个月大约也才需要花费 6 元

像腾讯云这样的大云服务商,每个月都给用户提供了50G的免费容量:

非常好,下面大家可以跟着我一起尝试使用一下,或许你会爱上这个产品。

0.创建存储桶

进入腾讯云的对象存储页面:

https://console.cloud.tencent.com/cos5/bucket#

选择创建存储桶,可以随意命名你的数据桶,地域可以选择离你最近的。注意访问权限这一项,如果你希望你的朋友也能下载数据桶内的文件,一定要选择公有读私有写。

1.安装

接下来说说怎么用Python将静态资源转移到腾讯云COS上。

Coscmd是腾讯云官方基于Python推出的上传工具,使用起来非常方便。

使用 pip 安装 coscmd:

pip install coscmd

如果直接安装失败了,可以尝试源码安装:

git clone https://github.com/tencentyun/coscmd.git
cd coscmd
python setup.py install

可以使用 coscmd -v 查看版本号

# coscmd -v
coscmd 1.8.6.16

2.配置

安装完成之后我们还需要一些参数配置,配置密钥、存储桶地域等。我们迁移数据时仅仅只需要配置一些简单的参数即可:

coscmd config -a SecretID -s SecretKey -b BucketName-APPID -r region

BucketName-APPID 是存储桶名称,region 为存储桶所在地域,SecretID 和 SecretKey 可以在控制台获取,如果没有的话直接创建一个:
https://console.cloud.tencent.com/cam/capi

创建后如上图下方列表所示,有APPID、SecretID 和 SecretKey,那么命令就如:

coscmd config -a AChT4ThiXAbpBDEFGhT4ThiXAbp**** -s WE54wreefvds3462refgwewe**** -b examplebucket-1250000000 -r ap-beijing

3. 迁移

下面以迁移本地附件到 COS 为例,演示一下 COSCMD 的使用

COSCMD 可以上传文件也可以直接上传文件夹,命令为:

#上传文件
coscmd upload 

#上传文件夹
coscmd upload -r

这样我们就可以使用如下命令将媒体库的文件上传到 COS 中:

# home/ 指将媒体库里的文件存放到COS的home文件夹中
coscmd upload -r 你的媒体库文件夹地址 存放到COS的具体位置如home/

#同步上传,跳过 md5 相同的文件
coscmd upload -rs 你的媒体库文件夹地址 home/

#忽略 .mp3 和 .gif 的后缀文件
coscmd upload -rs 你的媒体库文件夹地址 home/ --ignore *.mp3,*.gif

我们需要将媒体库的图片上传到 COS 中,存放的路径则因使用而异。

如果是网站的话,比如WordPress 的媒体库存储路径建议使用 wp-content/uploads/,如果你是为了个人使用,可以上传到任意位置,建议使用:home/.

上传完成后如上图所示,你可以在文件列表中找到你刚上传的这些媒体文件。

当然,COS也支持手动上传文件:

如果你按照我的步骤创建了一个公有读私有写的数据桶,那么上传的这些资源也支持分享文件下载地址给别人:

上图中显示的对象地址,就可以拿来分享给你任何朋友下载,不限速!不限速!不限速!怎么样,是不是超香?

到此这篇关于Python 转移文件至云对象存储的文章就介绍到这了,更多相关Python 云对象存储内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python按顺序重命名文件并分类转移到各个文件夹中的实现代码

    系统 ubuntu20.04 工具 python 要求 文件夹中有22个子文件夹,每个子文件又包含56个文件,要求将每个子文件夹中的第一个文件放到一个新文件夹中,第二个放一个新的中,一直到最后. 解决方案 1.复制源文件 import os import shutil #源文件路径 source_path='......' #复制的新文件的路径 copy_source_path='.....' #直接复制过去的话,经常会提示文件存在,所以加个判断语句 #判断路径是否存在源文件,如果有则删除 if

  • Python根据文件名批量转移图片的方法

    下面是在深度学习数据集处理过程中可能会用到的一个小程序,帮助我们根据图片文件的名字来分开图片: import os import shutil path_img='读取图片的路径' ls = os.listdir(path_img) print(len(ls)) for i in ls: if i.find('查找的关键词')!=-1: shutil.move(path_img+'/'+i,"输出保存的路径"+i) ---------使用示例---------- 例如我有如下的一个图片

  • Python提取转移文件夹内所有.jpg文件并查看每一帧的方法

    python里面可以将路径里面的\替换成/避免转义. os.walk方法可以将目标路径下文件的root,dirs,files提取出来.后面对每个文件进行操作. 切片操作[:]判断是否为.jpg或.JPG文件. shutil的copy方法将文件从旧路径复制到新路径. glob的glob方法提取目标文件夹的所有图片,对每张图片进行显示保存等操作. 详细代码及注释如下: import os import shutil import glob import cv2 path = 'C:/Users/de

  • Python 转移文件至云对象存储的方法

    对象存储(Cloud Object Storage,COS)是一种存储海量文件的分布式存储服务,具有高扩展性.低成本.可靠安全等优点. 对象存储有什么用呢?对于站长而言,比如Python实用宝典网站的服务器位于腾讯云香港,大陆访问速度会比较慢,这时候我可以将图片等静态资源转移到对象存储上,以提高用户的访问速度. 实际上,这两天我就对Python实用宝典做了这样的调整,搭配上懒加载,效果极佳,用户访问并渲染图片的过程所耗费的时间大大减少,大家可以访问Python实用宝典网体验一下: https:/

  • 微信小程序基于腾讯云对象存储的图片上传功能

    在使用腾讯云对象存储之前,公司一直使用的是传统的FTP的上传模式,而随着用户量的不断增加,FTP所暴露出来的问题也越来越多,1.传输效率低,上传速度慢.2.时常有上传其他文件来攻击服务器,安全上得不到保障.所以我们在经过慎重考虑觉得使用第三方的云存储服务. 在最开始的时候我们在腾讯云与阿里云中选择,最终我们选择腾讯云,腾讯云在文件上传用时方面的性能比较突出,文件越大表现越好:在下载用时方面表现略优于阿里云:文件删除用时方面总体速度略逊于,但在不同大小文件删除用时上都比较稳定.当然这与我们主要用于

  • ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例

    本文实例讲述了ThinkPHP5+UEditor图片上传到阿里云对象存储OSS.分享给大家供大家参考,具体如下: ThinkPHP5使用富文本UEditor,将富文本编辑框内上传在本地的图片,修改到阿里云对象存储OSS ThinkPHP5加载UEditor ···· 略 UEditor下载:https://ueditor.baidu.com/website/download.html#ueditor (或本站下载:https://www.jb51.net/codes/56667.html) 阿里

  • Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)

    使用Python过程中,经常需要对文件和目录进行操作.所有file类/os/os.path/shutil模块时每个Python程序员必须学习的. 下面通过两段code来对其进行学习. 1. 学习 file对象 2. 学习os/os.path/shutil模块 1.file对象学习: 项目中需要从文件中读取配置参数,python可以从Json,xml等文件中读取数据,然后转换成Python的内容数据结构. 下面以Json文件为例,实现从Json文件中获取配置参数. code运行环境:python2

  • Python 读写文件和file对象的方法(推荐)

    1.open 使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('thefile.txt') try:      all_the_text = file_object.read( ) finally:      file_object.close( ) 注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法. 2.读文

  • 浅析Docker私有镜像库与阿里云对象存储 OSS

    Docker私有镜像库 Docker 私有镜像库与阿里云对象存储 OSS 镜像管理是 Docker 的核心,为了满足企业或组织内部分享镜像,Docker 官方在 Github上 建立了一个开源项目 docker-registry,专门用于自建 Docker 的私有镜像库. 快速启动支持阿里云对象存储 OSS 的 docker-registry 您可以从 https://github.com/docker/docker-registry 下载并安装 docker-registry,通过 pip 安

  • Vue.js上传图片到阿里云OSS存储的方法示例

    如何在VueJS使用阿里云存储上传图片? 什么是OSS呢? 其实按照官网的解释就是->>阿里云对象存储服务(Object Storage Service) 在实际开发中,公司可能会用到OSS随时来存储一些数据,比如像文本.图片.音频和视频等在内的各种非结构化数据文件,恰好,在做项目的时候,刚好用到了OSS存储,对于我这个萌新,从来没用过,那么我们先来看看文档,看看是怎么一回事~看看前端在VueJS的环境下是如何上传OSS的 (1)首先,打开官网-----https://www.aliyun.c

  • python删除文件、清空目录的实现方法

    Python os.remove() 方法 os.remove() 方法用于删除指定路径的文件.如果指定的路径是一个目录,将抛出OSError. 在Unix, Windows中有效 以下实例演示了 remove() 方法的使用: #!/usr/bin/python # -*- coding: UTF-8 -*- import os, sys # 列出目录 print "目录为: %s" %os.listdir(os.getcwd()) # 移除 os.remove("aa.t

  • python实现文件路径和url相互转换的方法

    本文实例讲述了python实现文件路径和url相互转换的方法.分享给大家供大家参考.具体实现方法如下: import urllib pathname = 'path/to/file/or/folder/' url = urllib.pathname2url(pathname) pathname = urllib.url2pathname(url) print pathname 运行结果如下: path\to\file\or\folder\ 希望本文所述对大家的Python程序设计有所帮助.

  • python下载文件时显示下载进度的方法

    本文实例讲述了python下载文件时显示下载进度的方法.分享给大家供大家参考.具体分析如下: 将这段代码放入你的脚本中,类似:urllib.urlretrieve(getFile, saveFile, reporthook=report) 第三个参数如下面的函数定义report,urlretrieve下载文件时会实时回调report函数,显示下载进度 def report(count, blockSize, totalSize): percent = int(count*blockSize*10

随机推荐