configparser.NoSectionError: No section: 'setting' PS C:\Users\p>
configparser.NoSectionError: No section: 'setting' PS C:\Users\p>
a.ini
[setting]
a = 5
main.py
from configparser import ConfigParser
config = ConfigParser()
config.read('a.ini')
print(config.sections())
print(config.items('setting'))
print(config.items('setting')('a'))
错误
PS C:\Users\p> &
C:/Users/p/AppData/Local/Microsoft/WindowsApps/python.exe
c:/101/main.py [] Traceback (most recent call last): File
"C:\Program
Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1008.0_x64__qbz5n2kfra8p0\lib\configparser.py",
line 846, in items
d.update(self._sections[section]) KeyError: 'setting'
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "c:/101/main.py", line 7, in
print(config.items('setting')) File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1008.0_x64__qbz5n2kfra8p0\lib\configparser.py",
line 849, in items
raise NoSectionError(section) configparser.NoSectionError: No section: 'setting' PS C:\Users\p>
当 运行 来自不同位置的程序时,我得到了同样的错误。因为您的程序将查找与您在 a.ini
文件中相同的路径。
确保您位于包含 a.ini
文件的目录中。
或者更好的方法是使用 os, sys
在 运行 时间内为您找到路径。
这样您就可以从任何地方 运行 您的程序。
from configparser import ConfigParser
import os, sys
config = ConfigParser()
config.read(os.path.join(sys.path[0], 'a.ini'))
print(config.sections())
print(config.items('setting'))
print(config['setting']['a'])
a.ini
[setting]
a = 5
main.py
from configparser import ConfigParser
config = ConfigParser()
config.read('a.ini')
print(config.sections())
print(config.items('setting'))
print(config.items('setting')('a'))
错误
PS C:\Users\p> & C:/Users/p/AppData/Local/Microsoft/WindowsApps/python.exe c:/101/main.py [] Traceback (most recent call last): File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1008.0_x64__qbz5n2kfra8p0\lib\configparser.py", line 846, in items d.update(self._sections[section]) KeyError: 'setting'
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "c:/101/main.py", line 7, in print(config.items('setting')) File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1008.0_x64__qbz5n2kfra8p0\lib\configparser.py", line 849, in items raise NoSectionError(section) configparser.NoSectionError: No section: 'setting' PS C:\Users\p>
当 运行 来自不同位置的程序时,我得到了同样的错误。因为您的程序将查找与您在 a.ini
文件中相同的路径。
确保您位于包含
a.ini
文件的目录中。或者更好的方法是使用
os, sys
在 运行 时间内为您找到路径。
这样您就可以从任何地方 运行 您的程序。
from configparser import ConfigParser
import os, sys
config = ConfigParser()
config.read(os.path.join(sys.path[0], 'a.ini'))
print(config.sections())
print(config.items('setting'))
print(config['setting']['a'])