python读取配置文件“configparser”

问题描述 投票:0回答:2

使用模块“configparser”在python(3.7)中读取外部配置文件

示例配置文件“config.ini”

[ABC]
ch0 = "C:/Users/utility/ABC-ch0.txt"
ch1 = "C:/Users/utility/ABC-ch1.txt"

[settings]
script = "C:/Users/OneDrive/utility/xxxx.exe"
settings = "C:/Users/OneDrive/xxxxxxConfig.xml"

这是我试过的示例代码

import configparser
config = configparser.ConfigParser()

config.read('config.ini')
ch0 = config.get('ABC','ch0')
print(ch0)

这是我得到的错误代码,不知道我哪里出错了

NoSectionError: No section: 'ABC'

任何帮助非常感谢..提前感谢

python python-3.7 configparser
2个回答
1
投票

你的代码绝对没问题。

这一行:

config.read('config.ini')

尝试从与您运行的.py文件相同的目录中读取文件。所以你有3个选择:

  1. 将config.ini文件移动到.py文件旁边
  2. 在读取文件时使用正确的相对路径
  3. 在读取文件时使用绝对路径

1
投票

看起来问题不是在正确的位置找到config.ini,你可以通过做os.getcwd来避免。

import configparser
import os
config = configparser.ConfigParser()

#Get the absolute path of ini file by doing os.getcwd() and joining it to config.ini
ini_path = os.path.join(os.getcwd(),'config.ini')
config.read(ini_path)
ch0 = config.get('ABC','ch0')
print(ch0)
#"C:/Users/utility/ABC-ch0.txt"
© www.soinside.com 2019 - 2024. All rights reserved.