You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python实现读取文本内zip路径并将zip内容写入新文本文件

Zip文件批量信息导出Python实现指引

原代码存在的问题

  • 循环逻辑冗余错误:for循环嵌套while循环的写法完全多余,还存在缩进不匹配的语法错误,运行时要么死循环,要么无法正确逐行读取配置的zip路径
  • 输出不符合需求:仅创建了1个固定名称的输出文件,没有按要求给每个zip生成独立的结果文件
  • 路径读取错误:读取每行内容时没有去掉末尾自带的换行符,会导致zip文件路径拼接错误,无法正常打开zip
  • 功能缺失:仅写入了zip内的文件名,没有实现读取并写入文件内容的逻辑
  • 鲁棒性差:没有做基础的异常判断,遇到文件夹项、二进制文件时会直接崩溃

分步实现步骤

步骤1:准备输入配置文件

打开路径C:\Users\Tanish L\OneDrive\InputReadFile.txt,每行填写一个zip文件的完整绝对路径,示例内容如下:

C:\Users\Tanish L\Desktop\test1.zip
C:\Users\Tanish L\Desktop\test2.zip
C:\Users\Tanish L\Desktop\test3.zip

填写完成后保存文件,注意不要留多余空行、行尾不要加多余空格。

步骤2:编写可运行代码

以下代码完全基于原有代码用到的Python标准库、基础文件操作逻辑实现,没有引入额外复杂语法:

import zipfile

# 读取配置文件里的所有zip路径
input_file = open('C:\\Users\\Tanish L\\OneDrive\\InputReadFile.txt', 'r', encoding='utf-8')
# 逐行处理,去掉换行符、空行
zip_path_list = []
for line in input_file.readlines():
    clean_path = line.strip()
    if clean_path:
        zip_path_list.append(clean_path)
input_file.close()

# 逐个处理每个zip文件
for zip_index, zip_path in enumerate(zip_path_list):
    # 为每个zip生成独立的输出文件
    output_filename = f'zip_result_{zip_index + 1}.txt'
    output_file = open(output_filename, 'w', encoding='utf-8')
    
    # 打开当前zip包
    zip_obj = zipfile.ZipFile(zip_path, 'r')
    # 写入zip基础信息
    output_file.write(f'=== 对应Zip包路径:{zip_path} ===\n\n')
    output_file.write('--- 包内文件列表 ---\n')
    
    # 写入所有文件名
    for inner_file in zip_obj.namelist():
        output_file.write(f'- {inner_file}\n')
    
    output_file.write('\n--- 包内文件内容 ---\n')
    # 逐个读取文件内容写入
    for inner_file in zip_obj.namelist():
        # 跳过文件夹项,避免读取报错
        if inner_file.endswith('/'):
            continue
        output_file.write(f'\n[文件:{inner_file} 内容开始]\n')
        try:
            # 读取内容,无法解码的二进制文件直接标注
            content = zip_obj.read(inner_file).decode('utf-8', errors='ignore')
            output_file.write(content)
        except Exception as e:
            output_file.write(f'[非文本文件无法读取内容]')
        output_file.write(f'\n[文件:{inner_file} 内容结束]\n')
    
    # 关闭打开的资源
    zip_obj.close()
    output_file.close()
    print(f'已完成{zip_path}处理,结果存入{output_filename}')

步骤3:运行代码

  • 确认本地Python环境正常,zipfile是Python自带标准库,不需要额外安装任何第三方包
  • 将写好的代码保存为.py后缀的文件,双击运行或者在命令行执行即可
  • 运行前确认配置文件里填写的3个zip路径真实存在,没有拼写错误

步骤4:结果校验

代码运行完成后,会在脚本所在的同目录下生成3个独立的结果文件,打开后可核对:

  • 文件头部标注的zip路径是否和配置一致
  • 是否完整列出了zip包内的所有文件、文件夹名称
  • 文本类文件的内容是否正常写入,图片、压缩包等二进制文件会标注无法读取,属于正常现象

内容的提问来源于stack exchange,提问作者Tan7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 06:03:12