SORU
29 EYLÜL 2010, ÇARŞAMBA


Python sabitleri kullanarak oluştur "ayarlar" modülü

Stackoverflow de Google'da ve burada arama yaptım ama aradığım şeyi bulamıyorum.

Python için nispeten yeni duyuyorum. Ben oluşturmak isteyen bir "ayarlar çeşitli uygulama belirli sabitler depolanacağı" modülü.

Kurulum için benim kod istiyorum

settings.py

CONSTANT = 'value'

script.py

import settings

def func():
    var = CONSTANT
    --- do some more coding ---
    return var

Python belirten bir hata alıyorum: "genel adı 'SÜREKLİ' tanımlı değil.

Django kaynak üzerinde settings.py kendi dosya yaptığım gibi, sabitler adlı kod fark ettim. Bir komut dosyası ithal edilebilir nasıl karıştı ve uygulaması için başvuruda bulunuyorum.

EDİT

Tüm cevaplar için teşekkür ederim! Aşağıdaki denedim

import settings

print settings.CONSTANT

Aynı hatayı alıyorum:İmportError: alamıyor adını SÜREKLİ

CEVAP
29 EYLÜL 2010, ÇARŞAMBA


Bunu yapmak için en kolay yolu sadece ayarlar modülüne sahip olmaktır.

(settings.py)

CONSTANT1 = "value1"
CONSTANT2 = "value2"

(consumer.py)

import settings

print settings.CONSTANT1
print settings.CONSTANT2

Python bir modülü aldığınızda, modül adı ile sizi çıkaracak olan değişkenleri önek. Tam olarak belirli bir dosyada kullanmak istediğini biliyorumveyürütme sırasında değiştirilmesi hakkında endişeli değil, o zaman yapabilirsin

from settings import CONSTANT1, CONSTANT2

print CONSTANT1
print CONSTANT2

ama bu sonuncusu kapılmak istemem. İnsanlar kodunuzu okuma değerleri nereden geldiğini söylemeyi zorlaştırıyor. ve bu değerleri başka bir istemci modülü, onları değişirse güncellenmekte önleyen. Bunu yapmak için son bir yoldur

import settings as s

print s.CONSTANT1
print s.CONSTANT2

Bu yazı yazdığını, güncelleştirmeleri dağıtmak ve sadece s ayarlar modülünden sonra okuyucular bir şey hatırlamak gerekir olacak kaydeder.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Paulo Bautista

    Paulo Bautis

    21 Aralık 2008
  • skiesofblack.net

    skiesofblack

    14 HAZİRAN 2009
  • xiaoyu85

    xiaoyu85

    20 ŞUBAT 2010