从代码中获取所有硬编码路径,以及如何处理配置文件



我正试图将我的所有硬编码路径从我的一个项目中取出,并放入config.ini文件中。只剩下配置文件本身。既然我必须在中阅读

>>> config = ConfigParser.RawConfigParser()
>>> configReader = config.read('config.ini')

我不知道如何将其从代码中删除(或者是否可能)。那么,有没有一种方法可以从代码中获得硬编码的配置路径呢?

您可以使用__file__:找到模块的路径

#config.py
pass

导入模块可以访问从中导入的文件的名称:

#main.py
import os
import config
print config.__file__
print os.path.basename(config.__file__)
print os.path.dirname(config.__file__)

在控制台中运行此程序可以得到:

>>> import main
C:/Users/peterwood/Desktopconfig.py
config.py
C:/Users/peterwood/Desktop

获取一个命令行参数,该参数指定程序可以在哪里找到配置文件。

看看http://docs.python.org/library/optparse.html是新来的兄弟http://docs.python.org/dev/library/argparse.html关于如何在Python中解析命令行参数。

我不知道如何将其从代码中删除(或者是否可能)。

不可能的AFAIK。程序必须知道以某种方式读取什么文件。在程序中有一个硬编码的配置文件路径并没有错。

最新更新