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

Python如何访问JAR文件内文件夹并写入内容?

解决往JAR文件内指定目录写入文件的问题

看起来你已经搭好了基础代码框架,但目前的实现有两个关键问题:一是会把India.txt直接放到JAR的根目录,而非目标org文件夹;二是使用'w'模式会覆盖整个JAR文件,导致原有org文件夹的内容丢失。下面是修正后的代码,完美实现你的需求:

import zipfile

def write_to_jar_org_folder(jar_file, source_file):
    """将指定文件写入JAR包内的org文件夹"""
    # 使用'a'模式追加内容,避免覆盖原有JAR内的文件
    with zipfile.ZipFile(jar_file, 'a') as zf:
        # 通过arcname参数指定文件在JAR内部的路径:org/India.txt
        zf.write(source_file, arcname=f'org/{source_file}')

if __name__ == "__main__":
    jar_path = 'D:/pyt/z.jar'
    target_file = 'India.txt'
    write_to_jar_org_folder(jar_path, target_file)

核心修改说明:

  • 模式替换:把'w'改成'a','w'会清空原有JAR重新创建,'a'则是在现有JAR基础上追加文件,保留原有的org文件夹结构。
  • 指定内部路径:通过arcname参数明确文件在JAR内的存放位置,'org/India.txt'就能把文件精准放到目标目录下。
  • 自动资源管理:用with语句替代手动close(),Python会自动处理资源释放,代码更简洁安全。

如果你的India.txt不在当前脚本的工作目录,记得传入完整的文件路径作为source_file参数哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:46:21