Python yapılandırma dosyası: Herhangi bir dosya biçimi önerisi? Format hala uygun INI? Oldukça eski okul görünüyor | Netgez.com
SORU
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ÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ★ByScrapi★ Designs

    ★ByScrapiâ

    27 AÄžUSTOS 2013
  • Fubar Protocol

    Fubar Protoc

    21 AÄžUSTOS 2010
  • Jonah Penna

    Jonah Penna

    11 EYLÜL 2005