我怎么知道我的代码是运行在GAE上还是本地运行?

问题描述

| 我需要一些导入和语句,以便从gdata获取一些加密模块以加载到我的GAE Python SDK中:
from google.appengine.tools.dev_appserver import HardenedModulesHook
HardenedModulesHook._WHITE_LIST_C_MODULES += [\'_counter\']
但是,在GAE(仅本地)上部署此导入无效(也不需要)。 如何测试代码是在GAE还是本地上运行,以便可以有条件地执行此导入或其他本地特定的操作?     

解决方法

        如果导入由于抛出s1而实际上不起作用,那么您最好选择尝试/排除错误。
try:
    from google.appengine.tools.dev_appserver import HardenedModulesHook
    HardenedModulesHook._WHITE_LIST_C_MODULES += [\'_counter\']
except ImportError:
    HardenedModulesHook = None
您可以在except块中仅输入“ 3”,但是这样做可以让您检查“ 4”引用并执行一些应用程序逻辑。     ,        我将其用于一些宠物项目。不记得我从哪里得到的。
import os
if \'SERVER_SOFTWARE\' in os.environ and os.environ[\'SERVER_SOFTWARE\'].startswith(\'Dev\'):
    ,        您说导入无法在GAE上部署时起作用,那么为什么不简单地做这样的事情呢?
try:
    from google.appengine.tools.dev_appserver import HardenedModulesHook

HardenedModulesHook._WHITE_LIST_C_MODULES += [\'_counter\']
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...