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

Python 3.9如何从指定包加载CSV文件 实现类Java资源文件夹用法

实现方案

核心实现思路

使用Python 3.9标准库自带的importlib.resources模块完成资源读取,完全对齐Java资源文件夹的加载逻辑:通过包名定位资源文件,不依赖当前脚本的执行路径,无需手动拼接相对/绝对路径,避免运行路径变化导致的文件找不到问题。

前置要求

  • 项目根目录Project_Folder需加入Python的模块搜索路径:通常直接在Project_Folder目录下执行脚本即可满足,特殊场景可手动将Project_Folder的绝对路径加入sys.path
  • 保留data目录下的__init__.py文件,确保Python将data识别为合法包

reader.py 代码示例

import csv
from importlib.resources import open_text
# 导入data包作为资源定位的锚点
import data

def load_pers1_fb():
    # 直接通过data包定位CSV资源
    with open_text(data, "Pers1_fb.csv", encoding="utf-8") as f:
        csv_reader = csv.reader(f)
        # 此处替换为你自己的业务处理逻辑,示例为遍历所有行
        for row in csv_reader:
            print(row)

if __name__ == "__main__":
    load_pers1_fb()

高版本兼容写法

如果后续升级到Python 3.11及以上版本,可以使用更通用的files接口,同时支持普通目录和压缩包内的资源读取:

import csv
from importlib.resources import files
import data

def load_pers1_fb():
    with (files(data) / "Pers1_fb.csv").open("r", encoding="utf-8") as f:
        csv_reader = csv.reader(f)
        for row in csv_reader:
            print(row)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:06:06