如何得到压缩包里面文件的大小python代码‘,如何得到压缩包里面文件的大小python代码

发布时间:2022-11-24

本文目录一览:

  1. python 在不解压的情况下,怎么得知压缩包里面文件的大小呢?
  2. python 中如何压缩文件,并指定文件的压缩之后的大小。
  3. python怎样压缩和解压缩ZIP文件
  4. 怎么压缩用python写的游戏的文件大小?或者用什么开发库?
  5. 怎么从zip里提取文件 Python
  6. Python实现批量压缩文件/文件夹——zipfile

python 在不解压的情况下,怎么得知压缩包里面文件的大小呢?

可以使用 tarfile 模块在不解压的情况下查看压缩包里文件的大小,代码如下:

#coding=utf8
import tarfile
import os
tar = tarfile.open('G:/test/abc.tar.gz', 'r:gz')
for ti in tar:
    if ti.isreg():
        print(ti.name, ti.size)

python 中如何压缩文件,并指定文件的压缩之后的大小。

这个简单啊。你先压缩成一个ZIP文件。比如 example.zip。 然后用Python将它分割成5个文件:e1, e2, e3, e4, e5。 邮件发出去后,对方收到邮件,另存附件,然后在目录下运行:

copy e1+e2+e3+e4+e5 example.zip

此时Windows就将依次将5个文件复制到同一个文件里去。

python怎样压缩和解压缩ZIP文件

  1. Python使用 zipfile 模块压缩和解压ZIP文件。
  2. 读取zip文件: 首先,通过 zipfile 模块打开指定zip文件,如:
zpfd = zipfile.ZipFile(path, mode='r')

对于 zipfile,其标志与 open 所用的打开文件标志有所不同,不能识别 'rb'。 然后,读取zip文件中的内容,zipfile 对象提供一个 read(name) 的方法,name 为zip文件中的一个文件入口,执行完成之后,将返回读出的内容,如:

for filename in zpfd.namelist():
    tmpcont = zpfd.read(filename)
    print('len(tmpcont)', tmpcont)

需要注意的是,读取zip文件时,只能读取内容。 3. 写入zip文件: 首先,需要 zipfile 模块写打开或创建zip文件,如:

zpfd = zipfile.ZipFile(path, mode='w')

写打开是标志可以为 'w''a''a' 表示写入一个zip文件),或者传入第三个参数 compression 压缩标志:

compression=zipfile.ZIP_DEFLATED  # 需要导入zlib模块
compression=zipfile.ZIP_STORED     # 表示只对文件进行打包,并不压缩

写入有两种方式:

  • 一种是直接写入一个已经存在的文件,可使用 zipfile 对象中 write(filename, arcname, compress_type),第一个参数为文件名,第二个参数指写入zip文件中的文件名,默认与 filename 一致,第三个参数压缩标志可以覆盖打开 zipfile 时的使用参数;
  • 另一种是写入一个字符串,可使用 zipfile 对象中的 writestr(zinfo_or_arcname, bytes),第一个参数是 zipinfo 对象或写到zip文件中的压缩名,第二个参数是待写入的字符串。
  1. 最后,对于打开的 zipfile 对象需要进行关闭,从而使得写入内容真正写入磁盘,即:
zpfd.close()

怎么压缩用python写的游戏的文件大小?或者用什么开发库?

你可以尝试以下方法:

  • 建立虚拟环境,减少Python打包额外的第三方库;
  • 使用 UPXPyInstaller 进行压缩;
  • 使用 UPXNuitka 进行压缩。 这几种方法网上可以找到很多教程,都能够在一定程度上减小打包出来的文件大小,但是因为Python的解释型语言,除了使用 Nuitka 编译成exe以外,其它的压缩方法作用一般不大,但是使用 Nuitka 编译后的文件也会有较大的体积。

怎么从zip里提取文件 Python

Python自带模块 zipfile 可以完成zip压缩文件的读写,而且使用非常方便,下面就来演示一下Python读写zip文件:

Python读zip文件

下面的代码给出了用Python读取zip文件,打印出压缩文件里面所有的文件,并读取压缩文件中的第一个文件。

import zipfile
z = zipfile.ZipFile("zipfile.zip", "r")
# 打印zip文件中的文件列表
for filename in z.namelist():
    print('File:', filename)
# 读取zip文件中的第一个文件
first_file_name = z.namelist()[0]
content = z.read(first_file_name)
print(first_file_name)
print(content)

Python写/创建zip文件

Python写Zip文件主要用到 ZipFilewrite 函数。

import zipfile
z = zipfile.ZipFile('test.zip', 'w', zipfile.ZIP_DEFLATED)
z.write('test.html')
z.close()

在创建 ZipFile 实例的时候,有2点要注意:

  • 要用 'w''a' 模式,用可写的方式打开zip文件;
  • 压缩模式有 ZIP_STOREDZIP_DEFLATEDZIP_STORED 只是存储模式,不会对文件进行压缩,这个是默认值,如果你需要对文件进行压缩,必须使用 ZIP_DEFLATED 模式。

Python实现批量压缩文件/文件夹——zipfile

zipfile 是Python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的。 在这里对 zipfile 的使用方法做一些记录。即方便自己也方便别人。 zipfile 里有两个非常重要的class,分别是 ZipFileZipInfo,在绝大多数的情况下,我们只需要使用这两个class就可以了。ZipFile 是主要的类,用来创建和读取zip文件,而 ZipInfo 是存储的zip文件的每个文件的信息的。 ZipFile 还提供了如下常用的方法和属性:

  • 获取zip文档内指定文件的信息。返回一个 zipfile.ZipInfo 对象,它包括文件的详细信息。
  • 获取zip文档内所有文件的信息,返回一个 zipfile.ZipInfo 的列表。
  • 获取zip文档内所有文件的名称列表。
  • 将zip文档内的指定文件解压到当前目录。参数 member 指定要解压的文件名称或对应的 ZipInfo 对象;参数 path 指定了解析文件保存的文件夹。
  • 解压zip文档中的所有文件到当前目录。参数 members 的默认值为zip文档内的所有文件名称列表,也可以自己设置,选择要解压的文件名称。
  • 将zip文档内的信息打印到控制台上。
  • 设置zip文档的密码。