20221027
oss上图片要在线打开,需要把阿里云域名映射为私人域名
20220901
import oss2
import pandas as pd
import requests
import sys
from tqdm import tqdm
# 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
auth = oss2.Auth('LTAI5tPLVMcNdUnni6hnLiEH', '1Xu3mjXveD0TtnO6PK4NrmhVmoiIPi')
# 填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# 填写Bucket名称,例如examplebucket。
bucket = oss2.Bucket(auth, 'https://oss-cn-shenzhen.aliyuncs.com', 'znjc-dsl')
result1= []
result2= []
# 列举指定字符串之后的所有文件。即使存储空间中存在marker的同名object,返回结果中也不会包含这个object。
# 返回所有的文件名称
for obj in tqdm(oss2.ObjectIterator(bucket,prefix='images/dsl/jk_u')):
result1.append(obj.key)
for obj in tqdm(oss2.ObjectIterator(bucket, prefix='images/dsl/jiankewang_pic')):
result2.append(obj.key)
# 179055张
df1 = pd.DataFrame(data=result1,columns=['pic'])
# 179126张
df2 = pd.DataFrame(data=result2,columns=['pic'])
统计图片数量
20220322
登陆
import oss2
import requests
def oss(oss_save_path, your_img_path):
auth = oss2.Auth('LTA_key', 'secret')
endpoint = 'endpoint'
bucket = oss2.Bucket(auth, endpoint, 'your_bucket_name')
bucket.put_object_from_file(oss_save_path, your_img_path)
if __name__=="__main__":
url = 'https://test.com/test.jpg'
res = requests.get(url).content
with open('test.jpg', 'wb')as f:
f.write(res)
your_img_path = '/Desktop/test.jpg'
# 此处是存放在bucket下的image_data文件夹中
oss_save_path = 'image_data/test.jpg'
oss(oss_save_path, your_img_path)
########下面是实际案例
def upload_pic_to_oss(saved_pic_name_list,pic_folder):
'''
上传图片到oss
:param saved_pic_name_list: 图片名称
:param pic_folder: 存放图片的文件夹
:return:
'''
auth = oss2.Auth('LTAI5tPLVMcNdUnni6hnLiEH', '1Xu3mjXveD0TtnO6PK4NrmhVmoiIPi')
bucket = oss2.Bucket(auth, 'https://oss-cn-shenzhen.aliyuncs.com','znjc-dsl')
# 上传下载进度
def percentage(consumed_bytes, total_bytes):
if total_bytes:
rate = int(100 * (float(consumed_bytes) / float(total_bytes)))
print('\r{0}% '.format(rate), end='')
sys.stdout.flush()
for image_name in saved_pic_name_list:
ossFilename = 'images/upload_test/'+image_name #oss存放路径
tmp_file = pic_folder + image_name
oss2.resumable_upload(
bucket,
ossFilename,#上传到用户空间的文件名
tmp_file,# 待上传本地文件名
progress_callback=percentage)