ConfigParser Temel örneği
Dosya şu şekilde yüklenebilir ve kullanılabilir:
import ConfigParser
import io
with open("config.yml") as f:
sample_config = f.read()
config = ConfigParser.RawConfigParser(allow_no_value=True)
config.readfp(io.BytesIO(sample_config))
print("List all contents")
for section in config.sections():
print("Section: %s" % section)
for options in config.options(section):
print("x %s:::%s:::%s" % (options,
config.get(section, options),
str(type(options))))
print("\nPrint some contents")
print(config.get('other', 'use_anonymous'))
print(config.getboolean('other', 'use_anonymous'))
hangi çıktılar
List all contents
Section: mysql
x host:::localhost:::<type 'str'>
x user:::root:::<type 'str'>
x passwd:::my secret password:::<type 'str'>
x db:::write-math:::<type 'str'>
Section: other
x preprocessing_queue:::["preprocessing.scale_and_center",
"preprocessing.dot_reduction",
"preprocessing.connect_lines"]:::<type 'str'>
x use_anonymous:::yes:::<type 'str'>
Print some contents
yes
True
Gördüğünüz gibi, okuması ve yazması kolay standart bir veri formatı kullanabilirsiniz. Getboolean ve getint gibi yöntemler, basit bir dize yerine veri türünü almanıza izin verir.
Yapılandırma yazma
import os
configfile_name = "config.yaml"
if not os.path.isfile(configfile_name):
cfgfile = open(configfile_name, 'w')
Config = ConfigParser.ConfigParser()
Config.add_section('mysql')
Config.set('mysql', 'host', 'localhost')
Config.set('mysql', 'user', 'root')
Config.set('mysql', 'passwd', 'my secret password')
Config.set('mysql', 'db', 'write-math')
Config.add_section('other')
Config.set('other',
'preprocessing_queue',
['preprocessing.scale_and_center',
'preprocessing.dot_reduction',
'preprocessing.connect_lines'])
Config.set('other', 'use_anonymous', True)
Config.write(cfgfile)
cfgfile.close()
sonuçlanır
[mysql]
host = localhost
user = root
passwd = my secret password
db = write-math
[other]
preprocessing_queue = ['preprocessing.scale_and_center', 'preprocessing.dot_reduction', 'preprocessing.connect_lines']
use_anonymous = True
XML Temel örneği
Python topluluğu tarafından konfigürasyon dosyaları için hiç kullanılmıyor gibi görünüyor. Bununla birlikte, XML'i ayrıştırmak / yazmak kolaydır ve bunu Python ile yapmak için pek çok olasılık vardır. Biri Güzel Çorba:
from BeautifulSoup import BeautifulSoup
with open("config.xml") as f:
content = f.read()
y = BeautifulSoup(content)
print(y.mysql.host.contents[0])
for tag in y.other.preprocessing_queue:
print(tag)
config.xml böyle görünebilir
<config>
<mysql>
<host>localhost</host>
<user>root</user>
<passwd>my secret password</passwd>
<db>write-math</db>
</mysql>
<other>
<preprocessing_queue>
<li>preprocessing.scale_and_center</li>
<li>preprocessing.dot_reduction</li>
<li>preprocessing.connect_lines</li>
</preprocessing_queue>
<use_anonymous value="true" />
</other>
</config>
.ini
-like biçimini kullanmanınconfigparser
istediğinizi yapması gerektiğine inanıyorum .