将大于100M的文件上传到蓝奏云的方法

article/2025/8/22 16:53:31
简 介:蓝奏云存储文件时最大只能存储100MB的文件,但有时需要存储大于100MB的文件(如视频等)。本文给出了存储大文件的方法——分卷压缩上传。

关键词 蓝奏云、分卷压缩、文件存储
§01 题背景

  蓝奏云是一个比较好用的文件分享网盘,但免费版只能存储小于100MB的文件,对于大于100MB的文件便需要开通会员了。
  在平时,我们很容易遇到大于100MB的文件,如视频等。对于大于100MB的文件,可以采用分卷压缩的方式上传到蓝奏云。
  如果仅仅是单独分卷压缩,对于分卷的几个文件有时会无法上传,所以本文提供了一种分卷压缩再压缩的方式解决此问题。

§02 使用方法

一、压缩上传

  1. 使用bandzip软件将需要压缩的文件分卷压缩,每卷的大小为25M
  2. 将LanzouTrans.exe放入文件夹
  3. 运行LanzouTrans.exe
  4. 上传filename.xx.zip文件到蓝奏云(xx为数字)

二、下载解压

  1. 将文件下载到本地
  2. 将LanzouTrans.exe放入文件夹
  3. 运行LanzouTrans.exe
  4. 使用bandzip软件解压缩

注意:

 1. 文件夹中只能有一个.zip文件(.xx.zip不算.zip文件,其中xx为数字),该zip文件即为需要压缩或解压缩的文件。
 2. 文件命名时,正式文件名中不能带有.字符。

§03 用实例

1. 压缩上传

1. 使用bandzip压缩

▲ 图1 使用bandzip压缩操作01

▲ 图2 使用bandzip压缩操作02

▲ 图3 压缩完成后文件结构

2、运行小程序

双击运行LanzouTrans.exe

▲ 图4 程序运行中

▲ 图5 运行结束后文件结构

3、上传文件

  1. 在蓝奏云中新建文件夹。
▲ 图6 在蓝奏云中新建文件夹
  1. 上传
▲ 图7 上传文件
  1. 上传完成

经过以上操作,便将《斗破苍穹三年之约 第10集.mp4》文件上传到了蓝奏云中。

2. 下载解压

。。。

录:源代码

import os
import zipfileDEBUG = 0# 压缩文件时,多少个文件一组
FILE_NUM = 4state = {0: '运行正常。',1: '所选文件不是zip文件。',2: '文件夹中没有zip文件。',3: '文件夹中的zip文件大于1个,请删除其他zip文件,只保留一个zip文件,再运行程序。',4: '文件夹中没有需要解压缩或压缩的文件。',5: '文件夹中既有需要解压缩也有需要压缩的文件,请将不相关的文件移入其他文件夹,再运行程序。'
}def print_progress_bar(now, total):LENGTH = 50print('\r', end='')print('[', end='')print('-' * int(LENGTH*now/total), end='')print('>', end='')print(' ' * (LENGTH - int((LENGTH*now/total))), end='')print(']', end='')print('  {:.2f}%'.format(now/total*100), end='')def decompress(filedir, filename, aimxxzips):if DEBUG:print('Total File Number : %d' % len(aimxxzips))for f in aimxxzips:fname = os.path.join(filedir, f)print(fname)id = 0for f in aimxxzips:zipfilename = os.path.join(filedir, f)# 判断是否为有效的zip文件if zipfile.is_zipfile(zipfilename):with zipfile.ZipFile(zipfilename, 'r') as zfile:nl = zfile.namelist()for name in nl:zfile.extract(name)oldname = os.path.join(filedir, name)newname = os.path.join(filedir, '.'.join([filename, name.split('.')[-1]]))os.rename(oldname, newname)if DEBUG:print(oldname)print(newname)id += 1print_progress_bar(id, len(aimxxzips))for f in aimxxzips: os.remove(f)def compress(filedir, filename, xxzips):if DEBUG:print('Total File Number : %d' % len(xxzips))for f in xxzips:fname = os.path.join(filedir, f)print(fname)num2str = lambda n: '0' + str(n) if n < 10 else str(n)num = 0id = 0while num * FILE_NUM < len(xxzips):num += 1f = filename + '.{}.zip'.format(num2str(num))outfile = os.path.join(filedir, f)with zipfile.ZipFile(outfile, 'w') as f:for fn in xxzips[(num-1)*FILE_NUM : num * FILE_NUM]:f.write(fn)id += 1print_progress_bar(id, len(xxzips))if DEBUG:print(outfile)print("Compress FILE into {}.".format(outfile))for f in xxzips: os.remove(f)def main():dirstr = os.getcwd()iszip = lambda s: len(s.split('.')) == 2 \and s.split('.')[-1].upper() == 'ZIP'zips = [s for s in os.listdir(dirstr) if iszip(s) == 1]if len(zips) == 0: return 2if len(zips) > 1: return 3filename = zips[0]filepath = os.path.join(dirstr, filename)iszip = lambda s: s.split('.')[-1].upper() == 'ZIP'if iszip(filepath) == 0: return 1filepathlst = filepath.split('\\')filedir = "\\".join(filepathlst[:-1])filename = filepathlst[-1][:-4]isxxzip = lambda s: len(s.split('.')) >= 2 \and s.split('.')[-1][0].upper() == 'Z' \and s.split('.')[-1][1:].isdigit() \and s.split('.')[-2] == filenamexxzips = [s for s in os.listdir(filedir) if isxxzip(s) == 1]isaimxxzip = lambda s: len(s.split('.')) >= 3 \and s.split('.')[-1].upper() == 'ZIP' \and s.split('.')[-2].isdigit() \and s.split('.')[-3] == filenameaimxxzips = [s for s in os.listdir(filedir) if isaimxxzip(s) == 1]if len(xxzips) == 0 and len(aimxxzips) == 0:    return 4if len(xxzips) > 0 and len(aimxxzips) > 0:    return 5if len(xxzips) == 0 and len(aimxxzips) > 0:print('正在解压缩......')decompress(filedir, filename, aimxxzips)elif len(aimxxzips) == 0 and len(xxzips) > 0:print('正在压缩......')compress(filedir, filename, xxzips)return 0s = main()
if s != 0:print(state[s])input("按任意键退出......")

LanzouTrans.exe文件下载地址:

  • 蓝奏云:https://wwi.lanzouy.com/i4bjPy3mdcj
  • 百度网盘:https://pan.baidu.com/s/1txT9e0A__ecOQfuW1fy4gg?pwd=7vr8
  • 阿里云盘:https://www.aliyundrive.com/s/Q3oy614L27C

http://chatgpt.dhexx.cn/article/9plOK57R.shtml

相关文章

蓝奏云网盘下载链接无法打开的解决方法(详解 全)

&#x1f388;前言 蓝奏云是一家国内的比较有良心的网盘提供商&#xff0c;提供有不限量的网盘空间&#xff0c;且不限制下载速度&#xff0c;免费用户只限制上传单文件小于100M的文件。算是比较有良心的。而且下载还不用登录才能下载&#xff08;很多标称免费的网盘均需要下载…

【策略模式-strategy】

1&#xff1a;定义&#xff1a; 在《head first Design Pattern》中的定义是&#xff1a;策略模式定义了算法族&#xff0c;分别分装起来&#xff0c;让它们之间可以相互替换&#xff0c;此模式让算法的变化独立于使用算法的客户。 2&#xff1a;设计原则 1) 找出应用中可能需…

策略模式——Strategy

文章目录 案例展示——Strategy怎么用&#xff1f;深入分析——Strategy是什么&#xff1f;Strategy的定义Strategy的优点Strategy的缺点策略模式的扩展——策略枚举 参考 案例展示——Strategy怎么用&#xff1f; 了解一点历史的人都知道商鞅变法&#xff0c;正是由于商鞅变法…

策略模式,Strategy

策略模式的定义是&#xff1a; 定义一组算法&#xff0c;封装每个算法&#xff0c;让它们可以互换。让客户端可以单独切换算法。 其UML类图的示例如下&#xff1a; 在这个模式中&#xff0c;参与者包括&#xff1a; Strategy&#xff1a;为所有支持的算法声明一个共同的接口。…

策略模式/Strategy

策略模式/Strategy 意图/适用场景&#xff1a; 策略模式是针对一组算法&#xff0c;将每一个算法封装到具有共同接口的独立类中&#xff0c;从而使得它们可以互换。这样做的好处是&#xff0c;客户端可以以插件的方式更换算法。 电子商务网站的购物车系统是一个策略模式非常适用…

Strategy - 策略模式

定义 定义一系列的算法&#xff0c;把它们一个一个的封装起来&#xff0c;并且使它们可以相互替换&#xff0c;策略模式使得算法可以独立于使用者而变化。 案例 比如现在有一个文件编辑器Editor&#xff0c;它在保存的时候&#xff0c;可以保存为任意的格式。所有文件内容转换均…

策略模式 strategy

策略模式是对算法的包装&#xff0c;是把使用算法的责任和算法本身分割开来&#xff0c;委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面&#xff0c;作为一 个抽象策略类的子类。用一句话来说&#xff0c;就是&#xff1a;“准备一组算法&#x…

策略模式Strategy

策略模式是行为模式的一种&#xff0c;和模板模式解决的问题一样&#xff0c;实现了通用逻辑和算法细节的解耦合&#xff0c;不同的是模板模式采用继承实现&#xff0c;基类中通用逻辑需要确定下来不可随意更改&#xff0c;策略模式采用组合实现&#xff0c;比较灵活&#xff0…

Strategy策略

针对问题 针对特定问题具有多种算法时&#xff0c;我们需要根据上下文随时切换策略&#xff0c;这时运用strategy模式就能良好地组织代码关系&#xff0c;实现灵活选择和切换。 例子 1、诸葛亮的锦囊妙计&#xff0c;每一个锦囊就是一个策略。 2、旅行的出游方式&#xff0c…

策略(Strategy)模式

9. 策略(Strategy) Intent 定义一系列算法,封装每个算法,并使它们可以互换。 策略模式可以让算法独立于使用它的客户端。 Class Diagram Strategy 接口定义了一个算法族,它们都实现了 behavior() 方法。Context 是使用到该算法族的类,其中的 doSomething() 方法会调用…

策略模式使用

策略模式 策略模式就是定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换&#xff1b;它可以替换继承关系&#xff0c;避免使用多重条件转移语句 典型应用场景 根据不同的类型选择不同的计费策略、处理机制 参考&#xff1a;https://blog.csdn.net/u010247622/…

Option Explicit的作用

在VBScript中经常可以看到代码的最上面会出现“Option Explicit”&#xff0c;那么它的作用到底是干什么的呢&#xff1f; VBScript中并不要求显示定义变量&#xff0c;即变量可以不经定义直接使用&#xff0c;这样很方便&#xff0c;但是也很容易出现问题&#xff1b; 比如先定…

策略模式(常用用法)

策略模式 在软件开发中常常遇到类似的情况&#xff0c;当实现某一个功能存在多种算法或者策略&#xff0c;我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能&#xff0c;如数据排序策略有冒泡排序、选择排序、插入排序、二叉树排序等。 策略&#xff08;St…

策略模式之配置策略

了解策略模式建议大家先看一下这篇 https://www.runoob.com/design-pattern/strategy-pattern.html 步骤一创建一个接口 public interface Strategy {public int love(int a,int b); } 然后实现对应的接口A和B public class StrategyA implements Strategy {Overridepubli…

策略模式--strategy

策略模式 含义: 策略模式&#xff08;Strategy&#xff09;属于对象行为型设计模式&#xff0c; 1.主要是定义一系列的算法&#xff0c; 2.把这些算法一个个封装成拥有共同接口的单独的类&#xff0c;并且使它们之间可以互换。 策略模式使这些算法在客户端调用它们的时候能够互…

策略模式(Strategy)

设计模式系列 Strategy 策略模式——对象行为模式 1.意图 定义一系列的算法&#xff0c;把它们一个个封装起来&#xff0c;并且使它们可相互替换。本模式使得算法可独立使用它的客户而变化。 2.适用性 当存在以下情况时使用Strategy模式 许多相关的类仅仅是行为有异。“策…

CTA 策略分享之三 -- 策略优化

上一个帖子介绍了一个趋势跟踪策略的优化思路&#xff0c;今天我们继续对策略进行分析&#xff0c;找到另外的优化方法。先看回测的权益曲线&#xff1a; 看到在2017 8月份到2018 2月份策略出现了较大的回撤。先定性分析一下&#xff0c;应该是在这段时间内日线级别的图形上震…

证书扩展中的oid

4.1.2.9. 扩展 该字段必须仅在版本为 3 时出现&#xff08;第 4.1.2.1 节&#xff09;。 如果存在&#xff0c;该字段是一个或多个证书扩展的序列。 Internet PKI 中证书扩展的格式和内容在第 4.2 节中定义。 为 X.509 v3 证书定义的扩展提供了将附加属性与用户或公钥相关联以及…

OID科普:物联网OID与互联网域名的区别 | 圣笛数控

1.主导机构不同&#xff0c;物联网OID是以全球共同参与的国际标准组织统一分配。各国管理自己境内部分&#xff0c;各国之间又可以互通。安全机制比互联网域名更高&#xff0c;既有高度自治又有全球互通。中国是整个体系中最大的支持者和应用者。 2.表现形式不同&#xff0c;物…

OID技术与物联网、区块链、大数据的关系 | OID科普

一、什么是物联网&#xff1f; 物联网既是网络与物品与企业与人与万物互联&#xff0c;更是信息技术业务和应用。是利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起&#xff0c;形成人与物、物与物相联&#xff0c;实现信息化、远程管…