📜  在Python中使用 jproperties 读取属性文件

📅  最后修改于: 2022-05-13 01:55:18.352000             🧑  作者: Mango

在Python中使用 jproperties 读取属性文件

在本文中,我们将看到如何使用jproperties模块在Python中读取属性文件。它是Python的Java属性文件解析器和编写器。要安装,请在终端中运行此命令。

pip install jproperties

该模块的各种属性:

  • get()方法或基于索引的访问读取与键关联的值。
  • items()方法来获取所有键值对的集合并迭代它以从属性中读取所有键值对。
  • 该文件的每一行都包含键值对(即它是Python中的字典)。此运算符等于 (=) 用作键和值之间的分隔符

我们将使用此属性文件(example.properties)进行演示:

示例 1:打印所有属性详细信息。

方法:

  • 导入模块
  • 将属性文件加载到我们的属性对象中。
  • 这里的items()方法是获取元组的集合,其中包含 Keys 和对应的PropertyTuple

下面是实现:

Python3
from jproperties import Properties
  
configs = Properties()
with open('example.properties', 'rb') as read_prop:
    configs.load(read_prop)
      
prop_view = configs.items()
print(type(prop_view))
   
for item in prop_view:
    print(item)


Python3
from jproperties import Properties
configs = Properties()
  
with open('example.properties', 'rb') as read_prop:
    configs.load(read_prop)
      
prop_view = configs.items()
print(type(prop_view))
   
for item in prop_view:
    print(item[0], '=', item[1].data)


Python3
from jproperties import Properties
configs = Properties()
  
with open('example.properties', 'rb') as read_prop:
    configs.load(read_prop)
      
print(configs.get("DB_User"))  
print(f'Database User: {configs.get("DB_User").data}')   
print(f'Database Password: {configs["DB_PWD"].data}')  
print(f'Properties Count: {len(configs)}')


输出:

使用 items() 方法的程序输出

示例 2:打印属性文件以键值对为基础,如Python中的字典

方法:

  • 导入模块
  • 然后我们以 'rb' 模式打开 .properties 文件,然后我们使用 load()函数
  • 然后我们使用items()方法获取集合所有键值对在这里(即:print(type(prop_view))打印指定参数的类类型

下面是完整的实现:

蟒蛇3

from jproperties import Properties
configs = Properties()
  
with open('example.properties', 'rb') as read_prop:
    configs.load(read_prop)
      
prop_view = configs.items()
print(type(prop_view))
   
for item in prop_view:
    print(item[0], '=', item[1].data)

输出:

示例 3:根据需要打印每个特定的值数据

方法:

  • 导入模块
  • 然后我们以 'rb' 模式打开 .properties 文件,然后我们使用 load()函数
  • 使用 get() 方法返回具有指定键的项目的值。
  • 使用 len()函数获取文件的属性计数。

下面是完整的实现:

蟒蛇3

from jproperties import Properties
configs = Properties()
  
with open('example.properties', 'rb') as read_prop:
    configs.load(read_prop)
      
print(configs.get("DB_User"))  
print(f'Database User: {configs.get("DB_User").data}')   
print(f'Database Password: {configs["DB_PWD"].data}')  
print(f'Properties Count: {len(configs)}')   

输出:

这是使用 get() 方法的属性文件的输出