解决zipfile压缩的文件路径太深,直接调用即可

2023-11-15

import os
import zipfile
import shutil
def zipDir(dirpath,outdir):
    #把路径中最后一个文件夹的名字取出来作为雅苏报的名字
    zip_path=dirpath.split("\\")[-1]
    print(zip_path)
    zip_name=zip_path+".zip"
    if not os.path.exists(zip_path):
        os.makedirs(zip_path)
    #把源路径下的文件都复制到程序当前路径下准备压缩
    for file in os.listdir(dirpath):
        shutil.copy(os.path.join(dirpath,file),zip_path)

    zip = zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED)
    for path in os.listdir(zip_path):
        new_path=os.path.join(zip_path,path)
        print(new_path)
        zip.write(new_path)

    zip.close()
    #然后把压缩好的文件移动回去
    try:
        shutil.move(zip_name,outdir)
    except:
        os.remove(os.path.join(outdir,zip_name))
        shutil.move(zip_name, outdir)
        shutil.rmtree(zip_path)
if __name__ == '__main__':
    #要压缩的路径 要保存的压缩文件的路径
    zipDir("C:\\Users\\Administrator\\Desktop\\1",r"C:\\Users\\Administrator\Desktop")


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决zipfile压缩的文件路径太深,直接调用即可 的相关文章

  • 是否可以模拟 Python 3.6 中的内置 len() 函数?

    是否可以模拟内置len Python 3 6 中的函数 我有一个类定义了一个简单的方法 该方法依赖于len 函数如下 class MyLenFunc object def is longer than three characters se
  • 具有多处理功能的 Python 代码无法在 Windows 上运行

    以下简单的绝对初学者代码在 Ubuntu 14 04 Python 2 7 6 和 Cygwin Python 2 7 8 上运行 100 但在 Windows 64 位 Python 2 7 8 上挂起 我使用另一个片段观察到了同样的情况
  • python导入模块时如何避免一直写模块名?

    我用math最近模块很多 我不想写math sqrt x and math sin x 每时每刻 我想缩短它并写sqrt x and sin x How 对于较长的模块名称 通常会缩短它们 例如 import numpy as np 然后您
  • Spark MLlib - 训练隐式警告

    我在使用时不断看到这些警告trainImplicit WARN TaskSetManager Stage 246 contains a task of very large size 208 KB The maximum recommend
  • 编辑 scikit-learn 决策树

    我想编辑 sklearn DecisionTree 例如改变条件或切割节点 叶子等 但似乎没有功能可以做到这一点 如果我可以导出到文件 编辑它以导入 如何编辑决策树 环境 Windows 10 python3 3 sklearn 0 17
  • Python:记录垃圾收集器

    我有一个 python 应用程序 有一些性能问题 我想将垃圾收集器的事件 特别是何时调用 添加到我的日志中 是否可以 thanks http docs python org library gc html gc set debug http
  • Python + PostgreSQL + 奇怪的ascii = UTF8编码错误

    我有包含字符的 ascii 字符串 x80 代表欧元符号 gt gt gt print x80 当将包含该字符的字符串数据插入数据库时 我得到 psycopg2 DataError invalid byte sequence for enc
  • 为什么导入 pdb 时出现此错误? “模块”对象没有属性“ascii_letters”

    尝试调试我的代码 我正在导入库pdb import sys from subprocess import check call import pdb functions if name main Code 我收到此错误 File reg p
  • conda 无法从 yml 创建环境

    我尝试运行下面的代码来从 YAML 文件创建虚拟 Python 环境 我在 Ubuntu 服务器上的命令行中运行代码 虚拟环境名为 py36 当我运行下面的代码时 我收到下面的消息 环境也没有被创建 这个问题是因为我有几个必须使用 pip
  • 字典中的列表,Python 中的循环

    我有以下代码 TYPES hotmail type hotmail lookup mixed dkim no signatures S Return Path email protected cdn cgi l email protecti
  • 在Python中创建一个新表

    我正在尝试从数控机床中提取数据 事件每毫秒发生一次 我需要过滤掉一些用管道 分隔的变量分隔符 PuTTy exe 程序生成的日志文件 我尝试阅读熊猫 但列不在同一位置 df pd read table data log sep 日志文件的一
  • 用Python中的嵌套for循环替换重复的if语句?

    在我编写的下面的代码中 n 4 所以有五个 if 语句 所以如果我想将 n 增加到 比如说 10 那么就会有很多 if 语句 因此我的问题是 如何用更优雅的东西替换所有 if 语句 n p 4 5 number of trials prob
  • 如何从 Python 中指定运行程序的输入文件?

    我正在编写一个外部脚本 以通过笔记本电脑上的 Python mrjob 模块 而不是在 Amazon Elastic Compute Cloud 或任何大型集群上 运行 mapreduce 作业 我读自mrjob文档 http packag
  • 如何使用 PySpark 有效地将这么多 csv 文件(大约 130,000 个)合并到一个大型数据集中?

    我之前发布了这个问题并得到了一些使用 PySpark 的建议 如何有效地将这一大数据集合并到一个大数据框中 https stackoverflow com questions 60259271 how can i merge this la
  • Python 视频框架

    我正在寻找一个 Python 框架 它将使我能够播放视频并在该视频上绘图 用于标记目的 我尝试过 Pyglet 但这似乎效果不是特别好 在现有视频上绘图时 会出现闪烁 即使使用双缓冲和所有这些好东西 而且似乎没有办法在每帧回调期间获取视频中
  • Python正则表达式从字符串中获取浮点数

    我正在使用正则表达式来解析字符串中的浮点数 re findall a zA Z d d t 是我使用的代码 这段代码有问题 如果数字和任何字符之间没有空格 则不会解析该数字 例如 0 1 2 3 4 5 6 7 8 9 的预期输出为 0 1
  • 为什么“return self”返回 None ? [复制]

    这个问题在这里已经有答案了 我正在尝试获取链的顶部节点getTopParent 当我打印出来时self name 它确实打印出了父实例的名称 然而 当我回来时self 它返回 None 为什么是这样 class A def init sel
  • numpy.cov() 返回意外的输出

    我有一个 X 数据集 有 9 个特征和 683 行 683x9 我想获取这个 X 数据集和另一个与 X 具有相同形状的数据集的协方差矩阵 我使用np cov originalData generatedData rowvar False 代
  • scipysolve_ivp() 中的访问时间步长

    我有一个常微分方程系统 正在使用 scipy 的solve ivp 函数求解 它运行良好 但我在访问每个步骤中使用的时间步时遇到问题 我知道solve ivp 将当前时间传递给用户定义的函数 但我需要使用的时间步长 而不是当前时间 为了解决
  • 从数据集的给定日期范围中提取属于一天的数据

    我有一个数据集 日期范围为 2018 年 1 月 12 日到 8 月 3 日 其中包含一些值 维数为my df数据框是 my df shape 9752 2 每行包含半小时频率 第一行开始于2018 01 12 my df iloc 0 D

随机推荐

  • endl在c语言中的作用,C++中的endl

    从开始接触C 到现在 一直以为语句 cout lt lt hello world lt lt endl 中的endl只是一个相当于C中的换行 n 直到今天 莫名的搜索了一下endl才发现了一个惊天大秘密 原理endl不仅仅是一个换行那么简单
  • R语言快速学习第一部分(有其他语言基础)

    文章目录 注意事项 1 输出内容 输出到控制台 输出到文件 2 数字运算符 数字运算符 赋值 3 流程控制 if 判断语句 switch 判断语句 循环语句 4 函数 注意事项 R 语言区分大小写 使用的是 TRUE 与 FALSE 而不是
  • 2023最新版本Activiti7系列-流程中的任务

    流程中的任务 1 用户任务 用户任务 用于定义流程中需要人工参与的任务 用户任务可以在流程中创建并分配给特定的用户或用户组 当流程执行到用户任务时 流程将暂停 并等待相应的用户完成该任务 完成用户任务后 流程将继续执行 用户任务可以有以下属
  • 三菱MR-JE-C伺服电机FB功能块 流水线项目,16个MR-JE-C电机

    三菱MR JE C伺服电机FB功能块 适用Q系列PLC 流水线项目 16个MR JE C电机 为了加快编程速度 特意做的一个FB功能块 内部采用局部变量 全局缓冲区的方式进行编程 多次调用不冲突 适用于Q系列PLC和MR JE C的运动控制
  • 模块基础知识总结

    文章目录 1 模块 2 模块的创建 模块的使用 1 模块 模块化指将一个完整的程序分解成一个个的小模块 通过将模块组合 来搭建出一个完整的程序 模块化的有点 方便开发 方便维护 模块可以复用 2 模块的创建 在Python当中一个py文件就
  • spring boot中修改默认json转换器的部分特性,以及如何替换默认json转换器

    用Spring boot构建微服务时 后台接收controller通常用 RestController注解 Restcontroller是 Controller和 ResponseBody的结合体 会将后台返回的Java对象转换为Json字
  • Linux面试题

    1 解释下什么是GPL GNU 自由软件 GPL 通用公共许可证 一种授权 任何人有权取得 修改 重新发布自由软件的权力 GNU 革奴计划 目标是创建一套完全自由 开放的的操作系统 自由软件 是一种可以不受限制地自由使用 复制 研究 修改和
  • matlab elmtrain,ELM代码matlab

    Elmtrain m 训练代码 function IW B LW TF TYPE elmtrain P T N TF TYPE ELMTRAIN Create and Train a Extreme Learning Machine Syn
  • 电脑如何快速截屏技巧 四种常见的电脑截图方法

    经常使用电脑的朋友肯定会经常用到截屏这一功能 那么怎样快速的将电脑桌面上的信息通过截屏保存下来呢 其实截屏的方法有很多种 小编在这里与大家一起分享下四种常见的电脑截图方法 一 Windows系统自带的截图工具 一般的Windows系统都自带
  • git初识

    目录 简介 基本操作 常用命令 简介 Git是一种分布式版本控制系统 用于跟踪文件的更改并协调多个人之间的工作 它最初由Linus Torvalds于2005年创建 现在已成为许多开源和商业项目的首选版本控制系统 Git的主要特点包括分支和
  • Bringing HLSL Ray Tracing to Vulkan

    This post was revised March 2020 to reflect newly added support in DXC for targeting the SPV KHR ray tracing multi vendo
  • Mybatis的逆向工程详解

    今天用mybatis的逆向工程生成mapper xml文件的时候 由于用到的第三方可视化数据库工具的不支持 里面生成的xml文件中缺少了对主键的操作 于是上网查了别人的工程 对照了一下自己把mapper xml补齐了 下面贴出网上别人写得好
  • Transport Client 与 Node Client 官网谈差别

    通过使用elasticsearch 5 x版本 由于是追着潮流 所以遇到了很多疑惑和坑 接下来我们来看一下我一开始用5 x出现两个client 时关于两者区别的疑惑 Transport Client 与 Node Client 如果你使用的
  • 单列集合系列之Set集合的初了解

    Welcome Huihui s Code World 接下来看看由辉辉所写的关于单列集合的相关操作吧 目录 Welcome Huihui s Code World 顶级接口Collection 概念 方法 共性通用 一 Set集合的特点
  • [附源码]JSP+ssm计算机毕业设计彩虹社区残障人士管理信息系统的设计与实现ed5nd【源码、数据库、LW、部署】

    项目运行 项目含有源码 文档 程序 数据库 配套开发软件 软件安装教程 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEcl
  • Vue源码之AST抽象语法树

    Vue源码之AST抽象语法树 AST抽象语法树全称Abstract Sybtax Tree 简称就是AST 其作用就是Vue在解析模板时 会把模板编译成抽象语法树 在进行diff最小量更新算法等 AST抽象语法树是Vue渲染引擎的第一道工序
  • 写给小白的android 事件分发机制

    介绍 当我们手指在屏幕上进行操作时 系统根据我们的操作进行反应 系统为了更好的记录我们的操作 将我们的手指的所有操作分为三类操作 统一封装在MotionEvent类中 把大象装进冰箱只要三部 1 打开冰箱 2 把大象扔进去 3 关闭冰箱 操
  • Windows7之天镜漏洞扫描工具安装

    01 天镜漏洞扫描工具安装 01 安装天镜 02 升级漏洞 03 重启win7 多次重复升级过程 1次可能没办法成功 04 成功之后查看版本
  • Java8 Stream Lambda sorted()之正序倒序

    下面代码以自然序排序一个list list stream sorted 自然序逆序元素 使用Comparator 提供的reverseOrder 方法 list stream sorted Comparator reverseOrder 使
  • 解决zipfile压缩的文件路径太深,直接调用即可

    import os import zipfile import shutil def zipDir dirpath outdir 把路径中最后一个文件夹的名字取出来作为雅苏报的名字 zip path dirpath split 1 prin