2024-05-15 11:02:29 发布
网友
假设我有一个按名称命名的配置文件示例.ini,其中有两个部分。在
[section1] Name1 = Url_1 Name2 = Url_2 [Section2] Name3 = Url_3 Name4 = Url_4
现在如果我想打印Url_3&Url_4,在Python中有没有一种方法可以只打印这两个Url。在
我尝试过查找这个问题,但它们提供了在配置文件中打印每个节内容的解决方案。在
请帮我一下。在
您可以使用configobj: 示例.ini在
Name=Top level [section1] Name1=Url_1 Name2=Url_2 [Section2] Name3=Url_3 Name4=Url_4 [Section3] [[SubSection]] Name3=Url_3 Name4=Url_4
代码:
输出:
Top level Url_3 Url_4 {'Name3': 'Url_3', 'Name4': 'Url_4'} Url_3
编辑: 我想这可能就是您所指的动态访问。 您可以walk文件部分和键如下:
walk
在示例.ini在
Name=Top level [section1] Name1=Url_1 Name2=Url_2 [Section2] Name3=Url_3 Name4=Url_4 [Section3] [[SubSection]] Name5=Url_5 Name6=Url_6
from configobj import ConfigObj cfg = ConfigObj("sample.ini") # def transform(section, key): val = section[key] print val print "\nPrint Keys and Values" cfg.walk(transform, call_on_sections=True) print "\nPrint Values only" cfg.walk(transform, call_on_sections=False) print "\nContents of sample.ini\n" print cfg print "\nHunt just for Url5" def transform2(section, key): val = section[key] if val == "Url_5": print val, "is in ", section cfg.walk(transform2, call_on_sections=True) print "\nList dictionary" for key in cfg: print "%s: %s" % (key, cfg[key])
结果:
Print Keys and Values Top level {'Name1': 'Url_1', 'Name2': 'Url_2'} Url_1 Url_2 {'Name3': 'Url_3', 'Name4': 'Url_4'} Url_3 Url_4 {'SubSection': {'Name5': 'Url_5', 'Name6': 'Url_6'}} {'Name5': 'Url_5', 'Name6': 'Url_6'} Url_5 Url_6 Print Values only Top level Url_1 Url_2 Url_3 Url_4 Url_5 Url_6 Contents of sample.ini {'Name': 'Top level', 'section1': {'Name1': 'Url_1', 'Name2': 'Url_2'}, 'Section2': {'Name3': 'Url_3', 'Name4': 'Url_4'}, 'Section3': {'SubSection': {'Name5': 'Url_5', 'Name6': 'Url_6'}}} Hunt just for Url5 Url_5 is in {'Name5': 'Url_5', 'Name6': 'Url_6'} List dictionary Name: Top level section1: {'Name1': 'Url_1', 'Name2': 'Url_2'} Section2: {'Name3': 'Url_3', 'Name4': 'Url_4'} Section3: {'SubSection': {'Name5': 'Url_5', 'Name6': 'Url_6'}}
或者只需使用字典列表,不必费心使用walk
from configobj import ConfigObj cfg = ConfigObj("sample.ini") for key in cfg: print "%s: %s" % (key, cfg[key])
Name: Top level section1: {'Name1': 'Url_1', 'Name2': 'Url_2'} Section2: {'Name3': 'Url_3', 'Name4': 'Url_4'} Section3: {'SubSection': {'Name5': 'Url_5', 'Name6': 'Url_6'}}
你能试试吗?使用python的配置解析器
[section1] Name1=Url_1 Name2=Url_2 [Section2] Name3=Url_3 Name4=Url_4
脚本:
Url_3 Url_4
您可以使用configobj:
示例.ini在
代码:
^{pr2}$输出:
编辑: 我想这可能就是您所指的动态访问。
您可以
walk
文件部分和键如下:在示例.ini在
代码:
结果:
或者只需使用字典列表,不必费心使用
walk
结果:
你能试试吗?使用python的配置解析器
在示例.ini在
脚本:
^{pr2}$输出:
相关问题 更多 >
编程相关推荐