栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

无法从子目录使用ConfigParser加载相对的配置文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

无法从子目录使用ConfigParser加载相对的配置文件

路径是相对于 当前工作目录的 ,该 目录 通常是您运行程序的目录(但是当前目录可以由您的程序[或模块]更改,并且通常 不是 您程序文件的目录)。

一个解决方案包括通过

__file__
Python解释器在
foo.py
以下代码中为您创建的变量自动计算文件的路径:

import osconfig.read(os.path.join(os.path.dirname(__file__), 'conf', 'config.cfg'))

说明:

__file__
每个程序(模块)的变量都包含其路径(可能是相对于当前目录的路径,在加载时,我想-
我在Python文档中找不到结论性的东西),例如,当
foo.py
从其自身导入时目录)。

这样,无论当前工作目录如何,以及无论您将软件包放在何处,导入都能正常工作。

PS:旁注:

__all__ = ["config.cfg"]
不是您想要的:它告诉Python在执行操作时要导入哪些符号(变量,函数)
from confimport *
。应该删除它。

PPS:如果代码在加载配置读取模块的时间与您读取配置文件的时间之间更改了当前的工作目录,那么您要先存储配置文件的 绝对
路径(使用

os.path.abspath()
),然后再更改当前目录,因此即使在当前目录更改后也可以找到配置。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/611724.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号