如何在python脚本中从ini文件读取和获取存储的值?

时间:2018-10-25 12:03:35

标签: python python-3.x security configparser

import configparser
config= configparser.ConfigParser()

config.read(r'C:\Users\PycharmProjects\Integration\local.ini')
print(config.sections())

此后不知道该怎么办。我曾经尝试过这段代码

server = config.get('db','server') 

它抛出print语句的输出和错误。

['"db"', '"Auth"']
configparser.NoSectionError: No section: 'db'

local.ini file contains
["db"]
server=raj
log=ere2
["Auth"]
login=hi

3 个答案:

答案 0 :(得分:2)

使ini文件如下:

[db]
server=raj
log=ere2
[Auth]
login=hi

并导入为:

import configparser
config= configparser.ConfigParser()
config.read(r'C:\Users\PycharmProjects\Integration\local.ini')
server = config['db']['server')]

或者它总是返回str,因此,如果数据类型为非字符串,则使用字符串:

server = eval(config['db']['server')])

答案 1 :(得分:0)

['"db"', '"Auth"']

Answer: 
["db","Auth"]

答案 2 :(得分:0)

对于任何可能遇到此问题且无法接受的解决方案的人,Rohit-Pandley的答案可能是正确的,除了2个小的语法错误,其中使用了“ config ['db'] ['server')]”

“服务器”键调用(在[]内)中的“)”不应存在。它应该改为这样。

server = config['db']['server']

server = eval(config['db']['server'])

所以总的来说应该像这样。 (这是Rohit-Pandley的解决方案已复制并修复)

使ini文件如下:

[db]
server=raj
log=ere2
[Auth]
login=hi

并以类似方式导入:

import configparser
config= configparser.ConfigParser()
config.read(r'C:\Users\PycharmProjects\Integration\local.ini')
server = config['db']['server']

或者它总是返回str,因此,如果数据类型为非字符串,则使用字符串:

server = eval(config['db']['server'])