如何在不使用 python 解压缩的情况下读取或附加指定文件?
How to read or append a specified file without extracting it using python?
是否可以在不解压的情况下读取 zip 文件夹中的文件。
阅读
您可以使用 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")
是否可以在不解压的情况下读取 zip 文件夹中的文件。
阅读
您可以使用 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")