我正试图将我的所有硬编码路径从我的一个项目中取出,并放入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。程序必须知道以某种方式读取什么文件。在程序中有一个硬编码的配置文件路径并没有错。