当前位置: 首页 > wzjs >正文

商业网站案例做微网站需要什么

商业网站案例,做微网站需要什么,品质培训的网站建设,深圳高端包装盒设计使用Python调用7-Zip【按大小分组】压缩文件夹中所有文件 问题描述:方法前提条件任务完整代码示例代码如何工作? 问题描述: 我现在想把文件夹下的所有内容上传到网盘,但是这个文件夹下的素材内容很多,使用分卷压缩的话…

使用Python调用7-Zip【按大小分组】压缩文件夹中所有文件

  • 问题描述:
  • 方法
    • 前提条件
    • 任务
    • 完整代码示例
      • 代码如何工作?

问题描述:

我现在想把文件夹下的所有内容上传到网盘,但是这个文件夹下的素材内容很多,使用分卷压缩的话,要一起压缩完上传。解压时得一起下载完再解压。200多G太大了。

又因为其实我用不完这个文件夹下全部的素材,有时候只下载一些就够用了,所以我希望:

能使用python 调用 7-zip,每20G压缩一个压缩包,命名后保存。直到把文件夹下所有的文件压缩完。

方法

前提条件

在动手之前,你需要准备以下工具:

  • Python:推荐使用Python 3.x版本,已安装并可运行。
  • 7-Zip:一个免费的压缩工具,点击这里下载并安装。
  • 基本环境:确保你的电脑上Python和7-Zip都能正常运行。

任务

  • 文件管理:将大文件夹拆分成小份,便于上传或存储。
  • 自动化:通过Python脚本,避免手动操作的繁琐。
  • 通用性:不仅限于视频文件,适用于任何类型文件。

完整代码示例

- `seven_zip_path`:替换为你的7zip的安装路径。
  • folder_path:替换为你的文件夹路径。
  • output_dir:设置压缩包保存位置。
  • max_size_gb:调整每组的大小(比如10GB、50GB)。
  • password:输入你的压缩包密码,或者留空(password = None)。
import os
import subprocess# 获取文件夹中的所有文件
def get_all_files(folder_path):"""遍历文件夹,返回所有文件的路径列表"""file_list = []for root, dirs, files in os.walk(folder_path):for file in files:file_path = os.path.join(root, file)file_list.append(file_path)return file_list# 按大小分组文件
def group_files_by_size(file_list, max_size_gb=25):"""将文件按指定大小(GB)分组"""max_size_bytes = max_size_gb * 1024 * 1024 * 1024  # GB转换为字节groups = []current_group = []current_size = 0for file in file_list:file_size = os.path.getsize(file)# 如果当前组加上新文件超出限制,且当前组不为空,则新建一组if current_size + file_size > max_size_bytes and current_group:groups.append(current_group)current_group = []current_size = 0current_group.append(file)current_size += file_size# 添加最后一组if current_group:groups.append(current_group)return groups# 使用7-Zip压缩一组文件
def compress_files(group, output_file, seven_zip_path, password=None):"""调用7-Zip压缩一组文件,可选设置密码"""# 检查7-Zip是否可用if not os.path.exists(seven_zip_path):print("错误:请检查7-Zip安装路径是否正确!")return# 构建7-Zip命令command = [seven_zip_path,"a",          # 添加到压缩包"-t7z",       # 使用7z格式output_file,  # 输出文件名]if password:      # 如果设置了密码command.extend(["-p{}".format(password), "-mhe=on"])  # 添加密码并加密文件名command.extend(group)  # 添加文件列表# 执行压缩try:result = subprocess.run(command, capture_output=True, text=True)if result.returncode == 0:print(f"压缩成功:{output_file}")else:print(f"压缩失败:{result.stderr}")except Exception as e:print(f"发生错误:{str(e)}")# 主函数
def main():# 配置参数seven_zip_path = r"D:\Program Files\7-Zip\7z.exe"  # 7-Zip安装路径,可根据需要修改folder_path = r"D:\MyFiles"                       # 要压缩的文件夹路径output_dir = r"D:\CompressedFiles"                # 压缩包保存目录max_size_gb = 25                                  # 每组最大大小(GB)password = "mysecret123"                          # 压缩密码(可选,留空则无密码)# 创建输出目录(如果不存在)if not os.path.exists(output_dir):os.makedirs(output_dir)# 获取文件列表files = get_all_files(folder_path)if not files:print("错误:文件夹中没有文件!")return# 分组文件file_groups = group_files_by_size(files, max_size_gb)# 压缩每组文件for i, group in enumerate(file_groups, start=1):output_file = os.path.join(output_dir, f"Part_{i}.7z")print(f"正在压缩第 {i} 组文件...")compress_files(group, output_file, seven_zip_path, password)if __name__ == "__main__":main()

代码如何工作?

  1. get_all_files

    • 使用 os.walk 遍历文件夹,收集所有文件的完整路径。
    • 适用于任何文件类型,不局限于视频。
  2. group_files_by_size

    • 根据文件大小(字节)将文件分组。
    • 每组大小不超过 max_size_gb,通过累加文件大小判断是否需要新建一组。
  3. compress_files

    • 使用 subprocess.run 调用7-Zip,执行压缩命令。
    • 支持可选密码保护,加密文件名(-mhe=on)。
  4. main

    • 设置输入文件夹、输出目录、分组大小和密码。
    • 按顺序处理每组文件,生成独立的压缩包。

文章转载自:

http://749VneUE.nzqqd.cn
http://6flXAhNq.nzqqd.cn
http://Nm7HF3oN.nzqqd.cn
http://HBihZp4x.nzqqd.cn
http://bvhPrLsE.nzqqd.cn
http://uJonwXW5.nzqqd.cn
http://fvQ0hcSO.nzqqd.cn
http://cgPK8iVH.nzqqd.cn
http://OhyfLJZR.nzqqd.cn
http://9lubrV3p.nzqqd.cn
http://iN9EaC7o.nzqqd.cn
http://TMY6dK0w.nzqqd.cn
http://6LnaQOU0.nzqqd.cn
http://NtT5iLui.nzqqd.cn
http://XrNk9B8Z.nzqqd.cn
http://roSDksLx.nzqqd.cn
http://FJHXEgd3.nzqqd.cn
http://xAPDnRMn.nzqqd.cn
http://nflwuUT9.nzqqd.cn
http://gS7IOlNx.nzqqd.cn
http://Fc7tLo1N.nzqqd.cn
http://3lfMEEH4.nzqqd.cn
http://0cglwhDJ.nzqqd.cn
http://p3MAuDFk.nzqqd.cn
http://hRU06x1U.nzqqd.cn
http://vRI6on0w.nzqqd.cn
http://K6POopu3.nzqqd.cn
http://TKO9xVfv.nzqqd.cn
http://GtjKjNRb.nzqqd.cn
http://npcRtmap.nzqqd.cn
http://www.dtcms.com/wzjs/604522.html

相关文章:

  • 网站该怎么找到表白网页制作免费网站
  • 家具行业网站建设手机免费云服务器永久使用
  • wordpress 即时站内搜索最新国际新闻事件
  • 小说网站模板html俄罗斯引擎搜索
  • 藁城外贸网站建设seo排名优化是什么意思
  • dw制造网站log怎么做许昌网络推广哪家好
  • hltm 做网站教程嘉兴做外贸网站比较好的公司
  • 青海企业网站制作兰州市门户网站
  • 制作一个网站步骤射击官网
  • 北海哪家公司做网站建设研发wordpress响应 延时
  • 响应式网站标准尺寸在线qq登录无需下载
  • 苏州网站建设问问q778925409强涵温州 网站制作
  • 网站乱码代理一款游戏需要多少钱
  • wordpress 子站seo是哪里
  • 酒店网站怎么做用eclipce做登录网站
  • 机关网站建设的请示科技资讯网站开发大纲
  • 网站推广页网站建设xs029
  • 电子商务网站开发的形式有网站建设有什么需求分析
  • 遂宁模板建站公司阿里云怎么做淘宝客网站
  • 苏州自学网站建设平台做毕设最常去的几个网站
  • 设计单网站建设网站建设大师
  • 哪里有南宁网站建设天天广告联盟
  • 网站技术开发文档模板wordpress 系统要求
  • 设计网站 杭州linux系统如何做网站
  • 昆明做网站报价专业做网站套餐
  • 建设银行海外招聘网站一级域名免费注册
  • 定制化网站建设公司网站建设价格标准
  • 团购网站推广怎么做娱乐类网站开发
  • gif网站素材广州注册公司多少钱
  • 广西网站设计运营公司机构网站建设