如何在Google App Engine(Python)中定义配置变量/常量?

Lan*_*ard 6 python google-app-engine config

我是python/GAE的新手,我想知道如何快速定义和使用全局设置变量,所以说你git克隆我的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"
Run Code Online (Sandbox Code Playgroud)

做这样的事情的基本方法是什么(我来自Ruby)?

leo*_*luk 12

您可以使用任何Python持久性模块,您不仅限于YAML.

示例:ConfigParser,PyYAML,一个像ElementTree这样的XML解析器,一个像Django中使用的设置模块......

# ---------- settings.py

NAME = "Lance"
DOMAIN = "http://example.com"

# ---------- main.py

import settings

settings.DOMAIN # [...]
Run Code Online (Sandbox Code Playgroud)
# ---------- 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
Run Code Online (Sandbox Code Playgroud)