Due to business needs, it is necessary to create a randomly generated folder and upload the randomly generated files under the folder to Alibaba Cloud OSS and export the file address.
Modify according to your own needs:
Folder length
File name length
file type
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("上传完毕")