当前位置: 首页 > 面试题库 >

在Python中解析.properties文件

南宫泓
2023-03-14
问题内容

ConfigParser如果一个人解析一个简单的Java样式.properties 文件,该文件的内容是键值对(即没有INI样式节头),则该模块将引发异常。有一些解决方法吗?


问题答案:

说您有,例如:

$ cat my.props
first: primo
second: secondo
third: terzo

即将是一种.config格式,除了它缺少开头部分的名称。然后,很容易伪造节标题:

import ConfigParser

class FakeSecHead(object):
    def __init__(self, fp):
        self.fp = fp
        self.sechead = '[asection]\n'

    def readline(self):
        if self.sechead:
            try: 
                return self.sechead
            finally: 
                self.sechead = None
        else: 
            return self.fp.readline()

用法:

cp = ConfigParser.SafeConfigParser()
cp.readfp(FakeSecHead(open('my.props')))
print cp.items('asection')

输出:

[('second', 'secondo'), ('third', 'terzo'), ('first', 'primo')]


 类似资料:
  • 主要内容:1 Properties的概述,2 Properties的源码解析,2.1 主要类属性,2.2 构造器,2.3 遍历的方法,2.4 从外部文件读取的方法,2.5 输出到外部文件的方法,2.6 其他方法,3 读取文件案例演示基于JDK1.8详细介绍了Properties集合的底层源码实现,最后给出了Properties的读取文件使用案例。 1 Properties的概述 public class Properties extends Hashtable<Object,Object> Pr

  • 问题内容: 如何在Python中解析YAML文件? 问题答案: 不依赖标头的最简单,最纯净的方法是(文档),可以通过以下方式安装: 就是这样。一个普通的函数也存在,但是除非你明确需要提供的任意对象序列化/反序列化,以避免引入执行任意代码的可能性,否则通常应首选该函数。

  • 问题内容: 如何在Python中解析和读取Outlook PST文件? 问题答案: 我只是戳过libpst文档,但看起来libpst-python包可能对您有用:libpst-python

  • 问题内容: 我是YAML的新手,一直在寻找解析YAML文件和使用/访问已解析YAML数据的方法。 我遇到过有关如何解析YAML文件的解释,例如PyYAML教程“如何在Python中解析YAML文件”,“将Python字典转换为对象? ”,但是我没有找到一个关于如何从已解析的YAML文件访问数据的简单示例。 假设我有一个YAML文件,例如: 如何访问文本“ branch1文本”? “ YAML解析和

  • 问题内容: 我在包含XML的数据库中有很多行,并且试图编写Python脚本来计算特定节点属性的实例。 我的树看起来像: 如何使用Python访问XML中的属性“1”和“2”? 问题答案: 我建议ElementTree。相同的API还有其他兼容的实现,例如和在标准库本身中。但是,在这种情况下,他们主要添加的是更高的速度-编程的难易程度取决于定义的API 。 首先用 构建 的实例,例如使用函数,或者通

  • 问题内容: 通过使用文件中的以下代码块 我能够生成具有以下文件内容的文件 我想知道如何在生成的文件中添加评论?例如,生成的属性应具有以下内容: 我如何使用Ant来动态地做到这一点? 问题答案: 不支持编写带有多个注释的属性文件。为什么呢 PropertyFile.java ant属性文件任务由一个类支持,该类使用store()方法存储注释。从任务中仅提取一条注释,并将其传递给类以保存到文件中。 解