import oss2, sys, os def down_obj_fromoss(pid): # 根据前缀获取文件列表 prefix = f'objs/print/{pid}/' filelist = oss2.ObjectIteratorV2(oss_client, prefix=prefix) for file in filelist: filename = file.key.split('/')[-1] if filename.endswith('.obj'): obj_filename = filename print('正在下载:', file.key) localfile = os.path.join(workdir, 'print', pid, filename) oss_client.get_object_to_file(file.key, localfile) print('下载完成') return obj_filename def main(pid): if not os.path.exists(os.path.join(workdir, 'print')): os.mkdir(os.path.join(workdir, 'print')) path = os.path.join(workdir, 'print', pid) if not os.path.exists(path): os.mkdir(path) obj_filename = down_obj_fromoss(pid) print('obj文件名:', obj_filename) else: print('已经下载过了') if __name__ == '__main__': AccessKeyId = 'LTAI5tSReWm8hz7dSYxxth8f' AccessKeySecret = '8ywTDF9upPAtvgXtLKALY2iMYHIxdS' Endpoint = 'oss-cn-shanghai.aliyuncs.com' Bucket = 'suwa3d-securedata' oss_client = oss2.Bucket(oss2.Auth(AccessKeyId, AccessKeySecret), Endpoint, Bucket) if len(sys.argv) != 2: print('Usage: python3 gen_glb.py ') sys.exit(1) pid = sys.argv[1] workdir = f'z:\\' main(pid)