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

导入自定义Python库时如何让其读取自身目录下的文件?

解决导入脚本无法读取同目录文件的问题

问题根源:当你在C:\WORK目录运行test.py时,Python的当前工作目录是C:\WORK,而非Reusable_script.py所在的C:\SCRIPTS。直接使用相对路径file1.csv会让Python在当前工作目录(WORK)下查找,自然找不到目标文件。

解决方案:动态获取脚本自身目录路径

在Reusable_script.py中,通过Python内置模块动态获取脚本所在的绝对目录,再拼接目标文件路径,就能保证无论从哪里导入,都能定位到正确的文件。

方法1:使用os模块(兼容所有Python版本)

修改Reusable_script.py中的文件读取逻辑:

import os

# 获取当前脚本的绝对路径,提取其所在目录
script_directory = os.path.dirname(os.path.abspath(__file__))
# 拼接file1.csv的完整路径
csv_file_path = os.path.join(script_directory, "file1.csv")

# 读取文件示例
with open(csv_file_path, "r", encoding="utf-8") as f:
    content = f.read()
    # 后续处理逻辑

方法2:使用pathlib模块(Python 3.4+推荐)

pathlib提供了更直观简洁的路径操作方式:

from pathlib import Path

# 获取当前脚本所在的绝对目录
script_directory = Path(__file__).parent.resolve()
# 拼接文件路径
csv_file_path = script_directory / "file1.csv"

# 读取文件示例
with open(csv_file_path, "r", encoding="utf-8") as f:
    content = f.read()
    # 后续处理逻辑

注意事项

  • 禁止硬编码绝对路径(比如直接写C:\SCRIPTS\file1.csv),若后续移动脚本目录,代码会直接失效。
  • 确认file1.csv确实与Reusable_script.py在同一目录下,避免因文件名拼写错误导致查找失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 14:52:23