是否可以将键值对从一个INI文件导入到另一个INI文件

问题描述 投票:-1回答:1

我想将一个INI文件的键值对导入到另一个INI文件,以便每当我对“父” INI文件进行更新时,所做的更改也将自动应用于“子” INI文件。

INI文件可能吗?

我知道我可以操纵配置解析器来实现此行为,但是我在这里寻找更多的导入解决方案。

谢谢!

python ini
1个回答
0
投票

仅作说明:我假设您想要的是在ini文件中包含一个导入语句,类似:

import other.ini
[new values]
key = value
color = green
...

[基本上,ini-文件只是键到值的映射,类似于文本文件形式的dict。他们故意保持相当简单。

现在,虽然导入另一个ini文件听起来很简单,但很快就会带来一系列其他导入或继承机制必须处理的问题。例如,如果两个ini文件互相导入会发生什么,或者如果A导入BC,而BC都导入D会发生什么(所谓的菱形问题),然后您两次导入D吗?因此,导入其他ini文件并不像人们期望的那么简单,因此并不是您必须将其放入简约设计中的功能。

话虽如此,请记住ini文件实际上只是一个映射,因此是一个[[惰性实体:它根本不做任何事情。为了读取ini文件,通常需要使用Python's configparser这样的解析器,该解析器读取文本信息并为您创建实际的映射。此外,正是这个解析器必须执行其他文件的导入。因此,问题是:是否存在支持导入的ini文件解析器?

我不知道任何这样的解析器是可公开获得的标准软件包的一部分(尽管我认为它们确实存在)。您当然可以自己写一个。

也许最简单的方法是将导入作为特殊键值对添加到ini文件中,例如import=other.ini; another.ini,然后让程序遵循这些“链接”并导入其他任何文件指的是。

或者您走C的路径,并编写一个预处理程序,该预处理程序在#import other.ini文件中查找以ini之类的开头的行,然后在解析所有内容之前将其他ini文件合并为您的文本。

© www.soinside.com 2019 - 2024. All rights reserved.