使用python,我想将joomlaini语言文件转换为sql。但是joomla ini文件实际上遗漏了任何部分(例如:[translations])
由于rawconfigparser几乎完成了这项工作,但它需要一个节,所以我构建了一个临时文件,其中有一个名为[ALL]的“伪”节:
fout = tempfile.NamedTemporaryFile(delete=True)
fin = file(self._inFilename, "r")
fout.write("[ALL]\n")
for f in fin.read():
fout.write(f)
config = ConfigParser.RawConfigParser(allow_no_value=True)
config.read(fout.name)
for c in config.items("ALL"):
self._ini2sql(unicode(c[0]).upper(), unicode('de'), unicode(c[1][1:-1]))
但是。。。我是戴夫。不是最优雅的解决方案。。。有什么小窍门能让这个更像Python吗?在
您可以改为使用StringIO,它将内容保留在RAM中:
请注意,与您的代码相比,有一些优化,这对您很重要:
with
语句完成的。在作为} 库,它有一个更干净、更pythonic的API(并且不需要默认部分)。示例:
^{pr2}$ConfigParser
的替代方案,我真的推荐^{您可以使用StringIO而不是创建实际的文件:
正在读取当前目录中的.ini文件
相关问题 更多 >
编程相关推荐