首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用 zipfile 解压含有中文文件名的 zip 文件

问题 在使用 Python 内置标准库 zipfile 解压文件时,如果压缩文件中有的文件含有中文,那么解压后就会发现文件名中的中文部分是乱码。...然后我们使用下面的代码来解压: import zipfile with zipfile.ZipFile('文件.zip', 'r') as f: f.extractall() 解压的结果如图所示...解决 知道文件名用的编码后,就可以使用对应的编码来解码了。也就是先用 CP437 编码 encode 成 bytes,再以 gbk 格式解码成中文 string。...对应的代码如下: import shutil import zipfile with zipfile.ZipFile('文件.zip', 'r') as zf: for fn in zf.namelist...使用正确的文件名重命名解压的文件。 对应的代码如下,这里使用了 pathlib 库,强烈推荐该库!

4.9K90
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    聊点Python:在Django中利用zipfile,StringIO等库生成下载的文件​

    最近在django中要用到文件下载的功能,通过查找,发现以下几种方式,就收集在一起,供日后方便查找。 第一种方式:创建一个临时文件。可以节省了大量的内存。...ok,因为都是读入到内存中,但如果某个文件特别大,就不能使用这种方式,那就应该采用另外一种方式,下面就是展示一下,在Django中的大文件下载如何写代码实现。...如果文件非常大时,最简单的办法就是使用静态文件服务器,比如Apache或者Nginx服务器来处理下载。...不过有时候,我们需要对用户的权限做一下限定,或者不想向用户暴露文件的真实地址,或者这个大内容是临时生成的(比如临时将多个文件合并而成的),这时就不能使用静态文件服务器了。...zipstream库实现下载的功能,直接上代码,如下 class ZipUtilities(object): """ 打包文件成zip格式的工具类 使用方式 >>>

    1.9K40

    Python中的zipfile模块使用实例1 压缩文件的基本信息2 解压文件

    ,也可以为'w'或'a',w'表示新建一个zip文档或覆盖一个已经存在的zip文档,'a'表示将数据附加到一个现存的zip文档中; 3.参数compression表示在写zip文档时使用的压缩方法,它的值可以是...ZIP_STORED 或zipfile. ZIP_DEFLATED。如果要操作的zip文件大小超过2G,应该将allowZip64设置为True。...(file-like object) # 参数mode指示打开zip文件的模式,默认值为'r',表示读已经存在的zip文件,也可以为'w'或'a', # 'w'表示新建一个zip文档或覆盖一个已经存在的...zip文档,'a'表示将数据附加到一个现存的zip文档中 # 参数compression表示在写zip文档时使用的压缩方法,它的值可以是zipfile....参数members的默认值为zip文档内的所有文件名称列表,也可以自己设置,选择要解压的文件名称。

    1.3K60

    几个提高工作效率的Python内置小工具

    例如,你的同事要让你传的文件位于某一个目录下,那么,你可以进入这个目录,然后执行下面的命令启动一个下载服务器: python -m SimpleHTTPServer 在Python 3中,由于对系统库进行了重新整理...使用浏览器访问Python启动的下载服务器,可以看到一个类似于FTP下载的界面。这个时候,点击文件下载即可,降低了大家的沟通成本。 ?...的第三方库是否安装成功,本身也是一件很简单的事情,但是,如果我们使用脚本对大批量的服务器进行自动部署,又应该如何验证第三方库安装成功了呢?...除了安装unzip工具和编写Python脚本解压zip格式的压缩包以外,也可以使用zipfile模块提供了命令行接口。读者以后可以在Linux下,使用Python命令创建和解压zip格式的压缩包。...zip格式压缩包 下面的命令使用Python的zipfile模块提供的命令行接口,创建、查看和提取zip格式压缩包: python -m zipfile -c monty.zip spam.txt eggs.txt

    1.1K80

    傲游浏览器漏洞系列(上)- 任意文件写入,UXSS

    漏洞要点: 暴露的 JavaScript 接口导致任意文件写入 - 恶意网页可以强制浏览器下载zip文件,浏览器将其放在 SD 卡上,然后通过调用带有 URL 参数的installWebApp方法解压缩...2) com.mx.browser.f.p 的 a 方法使用 Apache HttpClient 下载所提供的 URL,然后使用所提供的文件名(/sdcard/webapp/[zip filename]...利用任意文件写入漏洞第一部分 - 一个简单的 PoC 首先,我们需要使用以下 Python 代码构建恶意 zip 文件。...IOError as e: raise e 然后我们使用 unzip 命令列出归档文件,以验证是否正确创建了 zip 文件。...-- 在多个域名的用户名字段中包含了 XSS payload 恶意 SQLite 数据库 我们可以使用以下 Python 代码来构建 zip 文件, import zipfile import sys

    1.4K40

    python实用小工具介绍

    例如,你的同事要让你传的文件位于某一个目录下,那么,你可以进入这个目录,然后执行下面的命令启动一个下载服务器: 本地有个一文件夹,想共享给局域网同事下载一些里面的文件,可以使用python的如下命令。...import paramiko 验证Python的第三方库是否安装成功,本身也是一件很简单的事情,但是,如果我们使用脚本对大批量的服务器进行自动部署,又应该如何验证第三方库安装成功了呢?...除了安装unzip工具和编写Python脚本解压zip格式的压缩包以外,也可以使用zipfile模块提供了命令行接口。读者以后可以在Linux下,使用Python命令创建和解压zip格式的压缩包。...zipfile模块提供的命令行接口包含以下几个选项: • -l zipfile> 显示zip格式压缩包中的文件列表 • -c 创建zip格式压缩包 • -e 提取zip格式压缩包 •...-t 验证文件是一个有效的zip格式压缩包 下面的命令使用Python的zipfile模块提供的命令行接口,创建、查看和提取zip格式压缩包: python -m zipfile -c monty.zip

    65220

    python破解zip压缩包密码

    曾经,在网上下载过一份“学习资料”,zip格式的一份不小的压缩文件。...费劲巴拉的从“某盘”下载,却发现解压需要“密码”,顿时心里有句不当讲的话… 为了破解压缩文件的密码,我在搜索引擎输入“python zip”两个关键词。...可以考虑在第一个参数中,加入“a-z”和“A-Z” zipfile解压文件 zipfile模块是python自带的,用于对zip文件的读、写、追加、解压操作等。...我们来看一下每个参数的含义: path 指定解压后文件的存储位置 members(可选)指定Zip文件中要解压的文件,这个文件名称必须是通过namelist()方法返回列表的子集 pwd 指定Zip文件的解压密码...except: print('解压失败') 进度条可视化 关于进度条,本程序使用 tqdm扩展库 1、密码迭代器 2、密码总个数 for pwd in tqdm(chain.from_iterable

    21910

    扔掉压缩工具,让我们用 Python 管理压缩包。

    Python 中有一系列对压缩包进行处理的工具,包括创建压缩包,解压压缩包以及获取压缩包中的文件列表等,今天的文章,我们就来学习一下与压缩包相关的 Python 标准库。...这一部分,我们来看一下如何管理 zip 格式的压缩包。...1.读取 zip Python 管理 zip 主要使用 zipfile 模块,这个模块里有一个名为 ZipFile 的对象,我们通过将 zip 压缩包的名称传递给这个对象的函数,这样就打开了一个 zip...Python 中使用 tarfile 标准库提供了 tar 命令提供的功能,我们也可以使用它创建一个压缩或者一个非压缩的 tar 包。...1.读取 tar 包 同样读取 tar 包和 Python 的文件管理操作类似,读写一个压缩包,需要执行打开操作,同时指定打开模式,并且在操作完成以后关闭文件,当然在这里我们可以使用上下文管理器来保证文件的关闭逻辑

    93020

    Python实战-暴力破解zip文件解压密码

    大家好,又见面了,我是你们的朋友全栈君。 简介 使用的核心模块是python标准库中的zipfile模块。这个模块可以实现zip文件的各种功能,具体可以查看官方参考文档。...这里的暴力破解的意思是对密码可能序列中的值一个一个进行密码尝试,这对人来说是很难的,可是对计算机而言并不难。有时候我们下载的zip文件需要密码解压而我们不知道,需要付费才知道。...zip加密,winrar有一种新式的默认加密方式,是不可以的。...这种情况费时很久,可以闲来无事挂着脚本。这里再次压缩文件,密码为python。...补充说明 很多人反馈这个方法无效,这主要是因为文件路径不正确(我的代码是默认该Python脚本所在目录下的zip文件进行解压的)和加密方式并非传统加密。

    2.8K10

    1秒搭建局域网下载服务器

    python有"内置电池"的称号, 安装Python3后, 你可以无需编码, 直接通过命令行使用python3部分"内置电池"的功能, 这里介绍两个很好用的"电池"模块~ 1秒搭建下载服务器 这是一个非常老司机的操作..., 适合在公司同事之间实时共享资源, 管理员进入文件夹test-http, 输入python -m http.server即可快速开启服务, 然后让与处于同一内网的同事,访问管理员的ip和对应端口, 就可以下载...centos 7 (扮演同事的角色, ip为192.168.214.160) ? 使用mac os x 的管理员可以查看来访者ip地址 ?...压缩/解压 zip文件 在linux中, 并没有内置压缩/解压zip格式的工具,但在mac和windows中zip却非常流行, 如果你安装了python3,就可以使用python3的"内置电池" zipfile...# 根据文件夹test-zipfile创建压缩文件 test-zipfile.zip python -m zipfile -c test-zipfile.zip test-zipfile # 根据压缩文件

    2.4K20

    Python黑客编程2 入门demo--zip暴力破解

    2.2 ZIPFILE 在python中操作zip文件,最简单的方式就是使用zipfile模块,使用该模块可以用来判断一个文件是否是压缩文件,创建、解压文件,获取zip文件的元数据信息。...可以使用python的help方法查看该模块的使用方法。 ? ? 这里我们首先关注下ZipFile类。 ? 该类用来打开,读取,修改,解压zip文件。...2.3 读取字典文件 在Python中打开文件,使用open方法,这是一个内置方法,查看open的帮助文档,可以看到该方法的参数说明。 ?...文件和字典文件的时候,还是需要修改代码,很不方便,正常的程序都应该可以传递参数的,ok,下面我们引入optparse库。...2.6 小结 这个程序本身并没有什么难点,但是通过这个入门案例,我们可以体验Python编程的基本方法,如何查看帮助文档,如何引入模块,初始化对象,操作zip文件,打开本地文件,命令行参数设置。

    2K70

    python zipfile.zipfile_confirm password

    服务器在传输这些数据之前先对其进行压缩,客户端接收到数据之后进行解压,这样可以减小网通传输数据的通信量,缩短下载的时间,从而增加客户体验。...用Python做类似的工作,只要使用zipfile模块提供的api就可以轻松的完成。...参数compression表示在写zip文档时使用的压缩方法,它的值可以是zipfile. ZIP_STORED 或zipfile. ZIP_DEFLATED,zipfile....参数members的默认值为zip文档内的所有文件名称列表,也可以自己设置,选择要解压的文件名称。 ZipFile.printdir() 将zip文档内的信息打印到控制台上。...通过阅读python手册,一两个小时就掌握了zipfile模块的基本使用。哈哈,使用Python,真爽! 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    92420

    python三方库之zipfile

    Python库的ZIP归档文件 zipfile.ZipInfo 归档文件中的一个成员信息 zipfile.is_zipfile() 判断filename是否是有效的ZIP文件,并返回一个布尔类型的值 zipfile.ZIP_STORED...表示LZMA压缩方法,需lzma模块支持 zipfile.ZipFile类:常用于创建、打开zip文件对象 (1) 可以与上下文管理器with进行使用 (2)zipfile.ZipFile类对象提供的方法有...:创建包含Python库的ZIP归档文件 (1)PyZipFile构造方法与ZipFile构造方法参数相似,多了一个optimize参数 (2)PyZipFile实例方法比ZipFile多了一个writepy...证明压缩文件成功 看下解压出出来的文件: 可以看到,压缩是成功的,那么接下来,看下如何去解压 3. zipfile模块解压操作 解压实现步骤: 创建ZipFile实例,打开zip...在我们的实际红作中,可以来使用的,比如压缩文件,加压包获取参数之类的。

    33110

    python rarfile不支持中文路径_python使用zipfile解压文件中文乱码问题

    ,读 azip = zipfile.ZipFile(“/Users/a/my_file/feise.zip”, ‘r’) # 返回所有文件夹和文件 zip_list = azip.namelist()...cp437可以正确读取部分,但是还有一部分却打印出来\u的编码, 因为看了alex的文章,又在catch中加上了utf-8的解码方式 #-*- coding: utf-8 -*- import zipfile...在我的ubuntu12.10中,发现显示中文基本都是正常的,只有在解压windows传过来的zip文件时,才会出现乱码.所以,我用另一个方法解决中文乱码 … 解决Fedora解压文件产生乱码的问题 最近有发现在使用...为了在linux下可以 … python使用zipfile解压中文乱码问题 在zipfile.ZipFile中获得的filename有中日文则很大可能是乱码,这是因为 在zip标准中,对文件名的 encoding...” import zipfile #加载模块 # 压缩 z = zipf … python笔记5-python2写csv文件中文乱码问题 前言 python2最大的坑在于中文编码问题,遇到中文报错首先加

    1.7K20

    Python 自动化指南(繁琐工作自动化)第二版:十、组织文件

    您的 Python 程序可以使用zipfile模块中的函数创建和打开(或提取 ) ZIP 文件。假设你有一个名为example.zip的 ZIP 文件,其内容如图图 10-2 所示。...图 10-2:example.zip的内容 你可以从nostarch.com/automatestuff2下载这个 ZIP 文件,或者使用你电脑上已经有的 ZIP 文件。...第一部分,命名 ZIP 文件,使用绝对路径的基本名folder。...你可以通过检查delicious_1.zip是否已经存在,再检查delicious_2.zip是否已经存在来确定N应该是什么,以此类推。...zipfile模块给你一种在 Python 中压缩和解压 ZIP 存档文件的方法。结合os和shutil的文件处理功能,zipfile可以轻松打包硬盘上任意位置的多个文件。

    1.4K50

    如何批量获取excel的图片并准确命名?

    需求 当有一张如下图所示的excel表,一列是图片,另一列是图片对应的名称(如型号)。如何把里面的图片批量下载下来并按对应列的单元格命名呢?...这个过程,在Python里可以这么做: import os import zipfile # 判断是否是文件和判断文件是否存在 def isfile_exist(file_path): if not...更麻烦的是,图片的序号跟excel表里图片的顺序并不一致,而且是乱序的,导致不能使用批量重命名的手法修改该图片名称。...换言之,这种烂大街的方法只解决了我们问题的一半,而且剩下那半还很不容顺下去解决。有效的解决方案请看下文! 解决方案 Python法: 既然上述压缩再解压的方法不行,Python要换个思路。...引用openpyxl库。

    3.9K20

    python zipfile模块学习笔记

    ZIP文件格式是一种常见的存档和压缩标准,这个zipfile模块提供了工具来创建、读取、写入、附加和列出一个ZIP文件。...使用ZIP64扩展(即压缩文件大小超过4G),它能解压加密的ZIP文件,解密过程很慢。 1、测试是否为ZIP文件 is_zipfile()函数会返回一个布尔值来表示是否为ZIP文件,代码如下: #!...# python zipfile_namelist.py ['test.txt'] #这只能查看ZIP文件的部分内容,使用infolist() 或者 getinfo() 可以从ZIP文件中获取更多信息,...419430400 bytes Uncompressed: 419430400 bytes 使用getinfo()函数可以在ZIP文件内查找内容,代码如下: #!...,如果zlib可以使用,你可以使用zipfile.ZIP_DEFLATED设置压缩模式为单个文件或者归档一个整体。

    1K20
    领券