简体   繁体   English

.ini文件中的字符串分隔(configparser)

[英]separation of the string in .ini file (configparser)

My ConfigParser.ini file looks like: 我的ConfigParser.ini文件如下所示:

[Filenames]
Table1={"logs.table2",92}
Table2=("logs.table2",91)
Table3=("audit.table3",34)
Table4=("audit.table4",85)

and now for example for Table1, I would like to get "logs.table2" value and 92 as separate variables. 现在以Table1为例,我想获取“ logs.table2”值和92作为单独的变量。

import configparser
filename=config.get('FIlenames','Table1')

As result I would like to get: 结果,我想得到:

print(filename) -> logs.table2
print(filenumber) -> 92

For now output is just a string ""logs.table2",92". 现在,输出只是一个字符串““ logs.table2”,92“。 Truly I have no idea how to handle that, maybe I should modify my config file? 确实我不知道该如何处理,也许我应该修改我的配置文件? What is the best aproach? 最好的方法是什么?

Parsing .ini files is getting strings. 解析.ini文件获取字符串。

[Filenames] [文件名]

Table1=logs.table2,92 Table1 = logs.table2,92

Table2=logs.table2,91 Table2 = logs.table2,91

Table3=audit.table3,34 Table3 = audit.table3,34

Table4=audit.table4,85 Table4 = audit.table4,85

table is a string, so you can split its contents into a list of comma separated values table是一个字符串,因此您可以将其内容拆分为逗号分隔值的列表

import configparser
config = configparser.ConfigParser()
config.read('config.ini')
table=config.get('Filenames','Table1')
list_table = table.split(',')
print(list_table[0])
print(list_table[1])

But, best practise is to put in separated lines all the name=value pairs: 但是,最佳做法是将所有“名称=值”对放在单独的行中:

[Filenames] [文件名]

TABLE1_FILENAME = logs.table2 TABLE1_FILENAME = logs.table2

TABLE1_FILENUMBER = 92 TABLE1_FILENUMBER = 92

Yet another way: 另一种方式:

ConfigParser.ini ConfigParser.ini

[Filenames]
Table1.filename=logs.table2
Table1.filenumber=92
Table2.filename=logs.table2
Table2.filenumber=91
Table3.filename=audit.table3
Table3.filenumber=34
Table4.filename=audit.table4
Table4.filenumber=85

Code: 码:

from configparser import ConfigParser
config = ConfigParser()
config.read('ConfigParser.ini')
print config.get('Filenames', 'Table1.filename')
print config.get('Filenames','Table1.filenumber')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM