Python 从代码中取出所有硬编码路径,如何处理配置文件?

Python 从代码中取出所有硬编码路径,如何处理配置文件?,python,config,Python,Config,我正在尝试将我的所有硬编码路径从我的一个项目中取出并放入config.ini文件中。只剩下配置文件本身了。因为我必须在以下地方阅读: >>> config = ConfigParser.RawConfigParser() >>> configReader = config.read('config.ini') 我不知道如何把它从代码中去掉(或者如果可能的话)。那么,有没有办法从代码中获取硬编码的配置路径呢?获取一个命令行参数,该参数指定程序可以在何处找到配置

我正在尝试将我的所有硬编码路径从我的一个项目中取出并放入config.ini文件中。只剩下配置文件本身了。因为我必须在以下地方阅读:

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

我不知道如何把它从代码中去掉(或者如果可能的话)。那么,有没有办法从代码中获取硬编码的配置路径呢?

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

看一看,这是关于如何在Python中解析命令行参数的最新进展

我不知道如何把它从代码中去掉(或者如果它是 可能的)


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

您可以使用
\uuuuu file\uuuuu
找到模块的路径:

#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

我希望它能作为python包而不是命令行工具工作,然后让python包的用户根据需要传递配置文件的位置,他们很可能会在流程开始时通过传入的参数从最终用户那里获得配置文件。如果您计划在Linux平台上发布此配置文件,您可能需要检查XDG基本目录规范和pyxdg——它将是linux和windows,谢谢链接