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

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

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

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

    Excel: 提取路径中的文件名

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

    2.7K20

    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

    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.9K20

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

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

    1.8K10

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

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

    92120

    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.7K30
    领券