python - Configparser 中的 INI 键作为多路径错误
问题描述
我有带有服务器路径和本地路径的 INI 文件,我只需要键作为列表而不是值。
服务器路径,工作正常......在本地路径中,所有 6 个都是相同的 'C 但不是我在 ini 文件的关键字段中提到的完整路径
注意:我需要 Key 单独作为两个部分的 List ...
我的档案:
[Server]
//rotork.co.uk\files\ES-LEZO\TESTRIG-DATA\Data\EF1\Database\Test-results.mdb = SS Database 1
//rotork.co.uk\files\CN-SHANGHAI\TESTRIG-DATA\Data\CF1\Database\Test-results.mdb = RAS Database 1
//rotork.co.uk\files\CN-SHANGHAI\TESTRIG-DATA\Data\CF2\Database\Test-results.mdb = RAS Database 2
//rotork.co.uk\files\CN-SHANGHAI\TESTRIG-DATA\Data\CF3\Database\test-results.mdb = RAS Database 3
//rotork.co.uk\files\CN-SHANGHAI\TESTRIG-DATA\Data\CF4\Database\Test-results.mdb = RAS Database 4
//rotork.co.uk\files\CN-SHANGHAI\TESTRIG-DATA\Data\CF5\Database\Test-results.mdb = RAS Database 5
[Local]
C://SVN//CKMotorData//Data//Test-results_EF1.mdb = SS Database 1
C://SVN//CKMotorData//Data//Test-results_CF1.mdb = RAS Database 1
C://SVN//CKMotorData//Data//Test-results_CF2.mdb = RAS Database 2
C://SVN//CKMotorData//Data//Test-results_CF3.mdb = RAS Database 3
C://SVN//CKMotorData//Data//Test-results_CF4.mdb = RAS Database 4
C://SVN//CKMotorData//Data//Test-results_CF5.mdb = RAS Database 5
我需要所有 Local Section 键作为列表。
服务器部分按此代码工作
config = configparser.ConfigParser()
config.read(Configurations.ini")
MDBList = []
for key in dict(config.items('Server'): #get all keys in a section
MDBList.append(key)
本地引发错误
[line 16]: option '"c' in section 'MDBLocal' already exists
解决方案
您的问题是由:
文件名中的 引起的,
因为 configparser 将其默认分隔符设置为delimiters=("=", ":")
- 请参阅https://docs.python.org/3/library/configparser.html#configparser-objects了解更多信息。
明确设置分隔符应该适合您。
import configparser
config = configparser.ConfigParser(delimiters=('=',))
config.read_string(ini)
for key in dict(config.items('Local')):
print(key)
# c://svn//ckmotordata//data//test-results_ef1.mdb
# c://svn//ckmotordata//data//test-results_cf1.mdb
# c://svn//ckmotordata//data//test-results_cf2.mdb
# c://svn//ckmotordata//data//test-results_cf3.mdb
# c://svn//ckmotordata//data//test-results_cf4.mdb
# c://svn//ckmotordata//data//test-results_cf5.mdb
推荐阅读
- php - 首屏内容
- laravel - V8Js::compileString():14026: ReferenceError: window is not defined
- c++ - 如何正确地将对象/指针存储到 Qlist
- proxy - 代理通过在 elm-package.json 中设置它来停止在生产服务器上工作
- load-testing - 我正在尝试使用 Jmeter 执行移动负载测试,但我在结果树中收到 401 错误
- php - 如何在 WordPress 功能中获取当前国家名称和状态
- c - 编译时未使用的参数和控件到达非空函数错误的末尾 - CS50 pset3 - 音乐
- ruby-on-rails - Rails 路由:as-block 和 device_for 块
- python - 如何在 SQLAlchemy 的连接表中聚合不同的值?
- sql - SAS中的nodupkey和SQL中的SELECT * DISTINCT FROM table_name之间的区别