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

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

问题 在使用 Python 内置标准库 zipfile 解压文件时,如果压缩文件中有的文件含有中文,那么解压后就会发现文件名中文部分是乱码。...例如我分别新建三个 txt 文件文件1.txt,文件2.txt 和 文件3.txt,然后将这三个文件压缩到一个名为 文件.zip 压缩文件。...有两种解决方案,两种方案都是使用 extract 方法而不是 extractall方法,都是对压缩文件文件名进行遍历,逐个解压。...方案 1 第一种方案思路是: 将文件名正确解码,并用解码后文件名创建一个新文件。 打开原文件,即文件名乱码文件。 将原文件内容写入到新文件。...使用正确文件名重命名解压文件。 对应代码如下,这里使用了 pathlib 库,强烈推荐该库!

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

    Excel: 提取路径文件名

    文章背景:在日常工作,有时需要从绝对路径中提取文件名。比如,已知某个文件存储路径,想要获取最后文件名称。下面介绍两种方法。...A2公式,REPT函数将空格复制99次。...A2公式,SUBSTITUTE函数将字符串斜杆\替换成99个空格。...思路分析:针对文件路径,先用99个空格替换掉路径斜杆\;再从字符串右侧起,获取99个字符(新字符串),此时,新字符串内既有文件名,也有空格;最后,通过trim函数,移除首尾空格,从而得到所需要文件名...思路分析:针对文件路径,使用Split函数,基于斜杆/,将路径分割成各个小块,保存在一个数组内;然后通过Ubound函数,获取数组最后一个索引号,从而将文件名提取出来。

    2.6K20

    Python读取文件所有Excel文件名

    【知识点一】 Python os.walk() 方法 概述 os.walk() 方法用于通过在目录树中游走输出在目录文件名,向上或者向下。...os.walk() 方法是一个简单易用文件、目录遍历器,可以帮助我们高效处理文件、目录方面的事情。...root 所指的是当前正在遍历这个文件本身地址 dirs 是一个 list ,内容是该文件夹中所有的目录名字(不包括子目录) files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录...如果 topdown 参数为 True,walk 会遍历top文件夹,与top 文件每一个子目录。 onerror -- 可选,需要一个callable 对象,当 walk 需要异常时,会调用。...os.listdir() 方法用于返回指定文件夹包含文件文件名字列表。这个列表以字母顺序。它不包括 '.' 和'..' 即使它在文件

    6.8K10

    SHELL技巧:处理文件名那些空格

    但是这种命名方式给Linux命令行工具和Shell带来了困扰,因为大多数命令,都是默认以空格做为值与值之间分隔符,而不是做为文件名一部分。 看下面的脚本,我们可以了解更清楚: ?...执行结果如下: ? 实际上,当前目录文件只有两个: ? 对于简单文件名,如上例,我们也可以通过 for i in *doc 这样简单方法来获得文件列表。...有一个办法,通过 for i in "* *" 可以获得文件名列表,但是一个很糟糕列表,因为这个结果是一个两个文件名在一起列表,我们完全无法拿来做后续操作,如下图所示。 ?...通过 "*\ *" 这样技巧可以避免上面所说问题,但是在应用mv或其他操作时,还是会出现问题。 ? 上面的问题,可以通过将变量放入引号("$i")解决,通常情况下,引号空格可以被正确处理。...default value is “”. 15215809-cb61f85865b24ba4b1bb381b12363eb6.png 另外一个办法就是在对文件名进行处理之前

    1.8K10

    linux文件名长度限制_linux补全文件名

    linux下文件数、目录数、文件名长度各 种限制 一、文档目的 编写本文档,主要目的是为了验证linux下文件数、目录数、文件名长度各种限制二、文档内容 以下测试都是在没有优化或修改内核前提下测试结果.../目录命名,最长只能支持127个中文字符,英文则可以支持255个字符 2. ext3文件系统下一级子目录个数限制 测试目的:ext3文件系统下一级子目录个数限制 测试平台:CENTOS5.4_32...create directory `31999′: Too many links mkdir: cannot create directory `32000′: Too many links ext3文件系统一级子目录个数为...Linux为了cpu搜索效率而规定,要想改变数目大概要重新编译内核. 补充:Ext4 文件系统单个子目录个数已经突破31998限制。...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    5.8K20

    Python批量提取zip、docx、xlsx文件图像文件

    任务描述: 批量提取zip压缩文件图像文件,解压缩并保存为独立文件。...相关阅读: Python批量提取Excel文件图片 Python使用标准库zipfile提取docx文档中所有图片 Python提取docx文档嵌入式图片和浮动图片又一种方法 Python...提取docx文档中所有嵌入式图片和浮动图片 使用Python批量提取并保存docx文档图片 本文代码同样适用于docx、xlsx等表面上看起来与zip毫无关系但实际内部实现类似于zip文件文件...另外,程序也可以不用标准库io和扩展库pillow,借助于内置函数open()来实现图像文件提取和保存更直接和方便一些,这里只是为了演示一种用法,并且这种用法在特定场合中有重要作用。 参考代码:

    90120

    python根据已有文件名文件复制文件到新文件

    最近需要对一些图片进行整理,需要从一堆图片中将已经存在在文件图片移动到另外一个新文件,所以就特意就写了一个小玩意方便使用.下面是代码实现: # -*- coding: utf-8 -*- #...import shutil import os oldpath = r'C:\Users\zjk\Desktop\全部' newpath = r'C:\Users\zjk\Desktop\整理后图片...' file_path = r'C:\Users\zjk\Desktop\已有图片信息.txt' #从文件获取要拷贝文件信息 def get_filename_from_txt(file):...lists: filename_lists.append(str(list).strip('\n')+'.jpg') return filename_lists #拷贝文件到新文件...print(filename) if __name__ == "__main__": #执行获取文件信息程序 filename_lists = get_filename_from_txt

    3.8K30

    ZIP和RAR文件不同

    生活我们经常需要使用电脑与朋友之间文件传送,但往往会受到文件大小限制而无法发出去,此时需要将文件压缩后再发送,那么有小伙伴会问rar和zip又有什么区别?...ZIP和RAR是最流行文件格式,用来压缩数据。他们无疑是压缩文件王者。 虽然二者都使用超快压缩算法来压缩和解压缩内容,但从速度和效率上来说,RAR效率要高于ZIP。...这两种方法都是压缩算法,可以有效地压缩文件,从而在不影响文件内容情况下缩小文件大小。这篇文章介绍了ZIP和RAR文件不同。...压缩文件格式rar和zip不同 1、zip起源比rar要早很多,并且它普及率比后者更广。操作系统对zip直接支持解压提取文件,其应用范围比rar要好得多。...2、文件压缩简介:简单经过压缩文件被压缩为压缩文件,压缩原理是将文件二进制代码压缩。rar和zip是通用压缩文件格式。 3、众所周知,zip是开源软件,而rar是收费

    2.6K30

    一日一技:Linux ,没有 zip命令,怎么生成 zip 文件

    大家有时候可能需要在 Linux 上面生成 zip 文件或者对一个 zip 文件进行解压。如果你在网上搜索怎么在 Linux 解压 zip 文件,你一般会看到下面这样回答: ?...但如果你手边刚好有一台 Linux 服务器的话,你可以试一试,一般你会得到这样返回: ? 这是因为,zip、unzip 这两个命令,是需要单独安装,并不是系统默认命令。...有了 Python,我们也可以对文件进行压缩。可能有人又说,他不会 Python、或者他不会 Vim,在 Linux 上写代码麻烦。...命令格式为: # 把一个或多个文件压缩到一个 zip 文件 python -m zipfile -c xxx.zip 文件1 文件2 文件3 # 把一个文件夹压缩 python -m zipfile...-c monty.zip 文件夹名 # 解压一个 zip 文件到指定文件 python -m zipfile -e xxx.zip 目标文件夹名 就这么简单,无论你想压缩一个或多个文件,还是想压缩整个文件

    1.4K30
    领券