Python crea aleatoriamente una carpeta y carga un nombre de archivo aleatorio en oss

Debido a las necesidades comerciales, es necesario crear una carpeta generada aleatoriamente y cargar los archivos generados aleatoriamente en la carpeta a Alibaba Cloud OSS y exportar la dirección del archivo.

Modifique según sus propias necesidades:

Longitud de la carpeta

Longitud del nombre de archivo

Tipo de archivo


import json
import oss2
import uuid

def mkdir(path):
    # 引入模块
    import os

    # 去除首位空格
    path = path.strip()
    # 去除尾部 \ 符号
    path = path.rstrip("\\")

    # 判断路径是否存在
    # 存在     True
    # 不存在   False
    isExists = os.path.exists(path)

    # 判断结果
    if not isExists:
        # 如果不存在则创建目录
        # 创建目录操作函数
        os.makedirs(path)

        print
        path + ' 创建成功'
        return True
    else:
        # 如果目录存在则不创建,并提示目录已存在
        print
        path + ' 目录已存在'
        return False


# 创建一个txt文件,文件名为mytxtfile,并向文件写入msg
def text_create(name,mkpath):
    desktop_path = mkpath  # 新创建的txt文件的存放路径
    full_path = desktop_path + name + '.html'  # 也可以创建一个.doc的word文档
    file = open(full_path, 'w')


def file_text(file): #上传到oss
    # 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
    auth = oss2.Auth('自己阿里云获取', '自己阿里云获取')
    # Endpoint以深圳为例,其它Region请按实际情况填写。
    bucket = oss2.Bucket(auth, 'oss-cn-shenzhen.aliyuncs.com', 'file_url')

    # 必须以二进制的方式打开文件,因为需要知道文件包含的字节数。
    bucket.put_object(file+"/"+filename[0:12]+'.html','file_url')


url_list = []

for page_box in range(1,5):#文件夹个数
    file = uuid.uuid4().hex #随机文件夹名称
    # 定义要随机创建的目录
    mkpath = "E:\\pythondata\\datawenjian\\"+file[0:4]+"\\"
    # 调用函数
    mkdir(mkpath)
    for page in range(1, 10): #循环次数 创建文件个数
        filename = uuid.uuid4().hex  # 随机生成文件名
        text_create(filename[0:12],mkpath) # 文件名(限制长度)
        # 调用函数创建一个名为mytxtfile的.html文件
        file_text(file[0:4])
        url = "http://file_url.oss-cn-shenzhen.aliyuncs.com/"+file[0:4]+"/"+filename[0:12]+".html"
        #http://file_url.oss-cn-shenzhen.aliyuncs.com/p/284daa793814.html
        url_list.append(url)
        print('循环第'+str(page)+'次')


with open('url_list-2021-02-12.json', 'a', encoding='utf-8') as file:
    file.write(json.dumps(url_list, indent=2, ensure_ascii=False))
print("上传完毕")

 

Supongo que te gusta

Origin blog.csdn.net/tang242424/article/details/113798021
Recomendado
Clasificación