我有一个脚本,其中包含以下结构。 是" 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'
答案 0 :(得分:1)
以这种方式思考 - 如果您的软件包是由root用户安装到系统目录中的 - 那么用户无法覆盖配置文件中的默认值。
不使用python文件作为配置,而是使用像ConfigParser这样的实际配置模块,然后执行类似site.py的操作,查看系统目录中的内容,然后执行用户的主目录.yourpackage。 RC