Я новичок в python / GAE, и мне интересно, как быстро определить и использовать глобальные переменные настроек, так что, скажем, вы git clone мое приложение GAE и просто открываете config .yaml
, добавьте, измените настройки, и приложение будет подключено, вот так:
# config.yaml (or whatever)
settings:
name: "Lance"
domain: "http://example.com"
# main.py
class Main(webapp.RequestHandler):
def get(self):
logging.info(settings.name) #=> "Lance"
Каков основной способ сделать что-то подобное (я пришел из Ruby)?
Вы можете использовать любой модуль сохраняемости Python, вы не ограничены YAML.
Примеры: ConfigParser, PyYAML, синтаксический анализатор XML, такой как ElementTree, модуль настроек, подобный используемому в Django...
# ---------- settings.py
NAME = "Lance"
DOMAIN = "http://example.com"
# ---------- main.py
import settings
settings.DOMAIN # [...]
# ---------- settings.ini
[basic]
name = Lance
domain = http://example.com
# ---------- main.py
import ConfigParser
parser = ConfigParser.ConfigParser()
parser.read('setting.ini')
try:
name = get('basic', 'name')
except (NoOptionError, NoSectionError):
# no settings