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

Python跨目录运行时如何正确加载config.ini配置文件?

解决配置文件路径加载问题

问题场景

目录结构:

  • IoT [文件夹]
    • DC [文件夹]
      • main.py
      • config.ini

main.py中原本的代码:

config.read('config.ini')

进入IoT/DC目录运行脚本时正常,但直接在IoT目录执行python3 DC/main.py时无法加载config.ini——原因是Python默认以当前执行命令的工作目录为基准查找文件,而非脚本所在的目录。

解决方案

修改main.py的代码,通过获取脚本自身的绝对路径来拼接配置文件的正确路径,这样无论从哪个目录运行脚本,都能精准找到配置文件:

import os
import configparser

config = configparser.ConfigParser()
# 获取当前脚本所在的绝对目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 安全拼接配置文件路径
config_path = os.path.join(script_dir, 'config.ini')
config.read(config_path)

代码说明

  • __file__:代表当前脚本文件的路径(可能是相对或绝对路径,取决于执行方式)
  • os.path.abspath(__file__):将脚本路径转换为绝对路径,消除相对路径的歧义
  • os.path.dirname(...):提取脚本所在的目录路径
  • os.path.join(...):适配不同操作系统的路径分隔符,安全拼接目录与配置文件名

修改后,无论是在IoT/DC目录执行python main.py,还是在IoT目录执行python DC/main.py,都能正常加载config.ini。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 08:40:25