我试图让我所有的硬编码路径出我的项目之一,并进入config.ini文件。唯一剩下的就是配置文件本身。由于我在读它:从代码中获取所有硬编码路径,如何处理配置文件?
>>> config = ConfigParser.RawConfigParser()
>>> configReader = config.read('config.ini')
我不知道如何得到这一点的代码(如果它甚至有可能)。那么有没有办法从代码中获得硬编码的配置路径?
我试图让我所有的硬编码路径出我的项目之一,并进入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/Desktop\config.py
config.py
C:/Users/peterwood/Desktop
取一个命令行参数,该参数指定程序可以找到您的配置文件的位置。
看看http://docs.python.org/library/optparse.html和它的更新的兄弟http://docs.python.org/dev/library/argparse.html关于如何解析Python中的命令行参数。
我希望它以Python包的形式工作,而不是命令行工具 – 2012-03-06 10:09:43
然后根据需要将Python包的用户传递到配置文件的位置,他们很可能将通过开始时传入的参数从最终用户获取该包的过程。 – 2012-03-06 10:11:57
我不知道如何从代码中得到它(或者如果它甚至可能是 )。
不可能AFAIK。该程序必须知道以某种方式读取哪个文件。在程序中配置文件的硬编码路径没有任何问题。
如果你打算在Linux平台上发布这个,你可能想要ck的XDG基地目录规范,和pyxdg - http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html – 2012-03-06 10:25:56
这将是Linux和Windows,谢谢你的链接 – 2012-03-06 10:26:56