22 Kasım 2011, Salı
Python yapılandırma dosyası: Herhangi bir dosya biçimi önerisi? Format hala uygun INI? Oldukça eski okul görünüyor
Python uygulaması için yapılandırma (anahtar/değer) depolamak lazım ve bir dosya içinde bu yapılandırmaları saklamak için en iyi yol arıyorum.
ConfigParser Python ile karşılaştım ve INI dosya biçimi gerçekten hala uygun değilse bugünlerde? merak ettim! Güncel daha bir biçim var ya INI hala gitmek için önerilen yol nedir? (XML, JSON, ...)
Düşüncelerini paylaş lütfen/öneriler...
CEVAP
22 Kasım 2011, Salı
Yapılandırma dosyaları olarak normal Python dosyalarını kullanmayı düşünün.
(example.conf
) bir örnek:
# use normal python comments
value1 = 32
value2 = u"A unicode value"
value3 = "A plain string value"
value4 = ["lists", "are", "handy"]
value5 = {"and": "so", "are": "dictionaries"}
Programda, config dosyasıexecfile
(2.7 docs)kullanarak yük:
if __name__ == "__main__":
config = {}
execfile("example.conf", config)
# python 3: exec(open("example.conf").read(), config)
print config["value1"]
print config["value5"]
Bu yaklaşım, aşağıdaki nedenlerden dolayı seviyorum:
- Basit durumda, bir biçim İNİ tarzı bir yapılandırma dosyası olarak yazar kolaylığı sağlıyor. Ayrıca, INI dosyaları ile önemli bir özelliği paylaşır: sürüm kontrol (Bu JSON, XML ve belki de daha az doğrudur . çok uygundur
- Config gerçek bir programlama dili dosyası olan gelir esnekliği seviyorum.
Bu yaklaşım yaygın olarak kullanılan, birkaç örnek:
- Django bir site Ayarları settings.py içinde yaşıyor. Django
import
/settings.py
AFAIK okumak yürütmek için kullanır, ama aynıexecfile
, kullanmaz: dosya yürütülür ayarları içinde kodu. - Bash kabuğu ve başlangıçta
~/.bashrc
okur ve yürütür. - Python yorumlayıcısı ithalatı (yürütür) 10* *başlangıç.
Bunu Paylaş:
Kullanarak <ınput type="dosya&...
Yol adı, os/ne olursa olsun Python ayı...
Görüntülü Yardım dosyası herhangi bir ...
Python kullanarak bir dosya var olup o...
Python string biçimlendirme: % vs .for...