首页 > 解决方案 > 如何在不使用 python 提取的情况下读取或附加指定的文件?

问题描述

是否可以在不解压缩的情况下读取 zip 文件夹中的文件。

标签: pythonzipfeature-extraction

解决方案


阅读

您可以使用该zipfile模块,

import zipfile

def read_zip_file(file_path):
    z = zipfile.ZipFile(file_path)
    for file_info in z.infolist():
        file = z.open(file_info)
        line_list = file.readlines()
        print line_list

追加

import zipfile

def append_zip_file(zip_folder_path, file_to_append):
    z = zipfile.ZipFile(file_to_append, "a")
    z.write(file_to_append)
    z.close()

基本上,您需要使用ZipFile.extract从 Zip 文件夹中提取任何内容。因此,任何不使用此方法的解决方案实际上都没有提取任何东西。

编辑

在 OP 特殊情况下,您似乎必须处理 UTF-16 编码。因此,请尝试使用此代码,

def read_zip_file(filepath):
    zfile = zipfile.ZipFile(filepath)
    for finfo in zfile.infolist():
        ifile = zfile.open(finfo)
        line_list = ifile.read()
        print line_list.decode("utf-16")

推荐阅读