是否有一个版本的ConfigParser处理没有节标题的文件?

时间:2012-03-13 14:36:33

标签: python python-2.7 configparser

我有一个主要用于shell脚本的配置文件,因此具有以下格式:

# Database parameters (MySQL only for now)
DBHOST=localhost
DATABASE=stuff
DBUSER=mypkguser
DBPASS=zbxhsxhg

# Storage locations
STUFFDIR=/var/mypkg/stuff
GIZMODIR=/var/mypkg/gizmo

现在我需要从Python(2.6)脚本中读取它的值。我不想重新发明轮子并用descriptor.readlines()解析它并寻找相同的符号并跳过以'#'开头的行并处理引用的值并且等等等等等等。我尝试使用ConfigParser,但它不喜欢没有节标题的文件。我有任何选择或者我必须做无聊的事吗?

哦,顺便说一下,围绕Python脚本包装shell脚本不是一种选择。它必须在Apache中运行。

1 个答案:

答案 0 :(得分:3)

我不知道这样的模块,但作为一个快速而又脏的黑客 - 只需在文件内容之前添加[section],您就可以按预期使用ConfigParser了!

from io import StringIO

filename = 'ham.egg'
vfile = StringIO(u'[Pseudo-Sectio]\n%s'  % open(filename).read())