Python:从__file__目录导入配置文件?

时间:2014-07-29 14:32:15

标签: python config os.path

我有一个脚本,其中包含以下结构。 是" script_2.py"无论是否更改了script_2.py和config.py的位置(假设它们总是"保持在一起"),从外部文件导入变量的好方法?

......或者我错过了什么并使它变得比它应该更难?

# scrip_1.py
.
.
.
ThirdPartyBlackBoxProgramCall('somePath\\script_2.py')
.
.
.

# script_2.py
import os
import sys

folder_path = os.path.dirname(__file__)
sys.path.append(folder_path)
from config import A, B, C
.
.
.

# config.py
A = '111'
B = '222'
C = '333'

1 个答案:

答案 0 :(得分:1)

以这种方式思考 - 如果您的软件包是由root用户安装到系统目录中的 - 那么用户无法覆盖配置文件中的默认值。

不使用python文件作为配置,而是使用像ConfigParser这样的实际配置模块,然后执行类似site.py的操作,查看系统目录中的内容,然后执行用户的主目录.yourpackage。 RC