GAE Python:读取gitkit的JSON文件

时间:2014-08-29 09:14:42

标签: json google-app-engine python-2.7

相关代码

尝试1:

directory = os.path.dirname (__file__) 
path = os.path.join (directory, 'json', 'gitkit-server-config.json') 
gitkit_instance = gitkitclient.GitkitClient.FromConfigFile (path)

尝试2:

directory = os.path.dirname (__file__) 
path = os.path.join (directory, 'gitkit-server-config.json') 
gitkit_instance = gitkitclient.GitkitClient.FromConfigFile (path)

在开发服务器和生产服务器上获得以下错误: (两次尝试都有类似的错误)

  

INFO 2014-08-29 14:34:21,621 module.py:642]默认:" GET   / _ah / warmup HTTP / 1.1" 500 - ERROR 2014-08-29 09:04:26,540   wsgi.py:262]

     

追踪(最近一次呼叫最后一次):

     

文件" C:\ Program Files   (x86)\ Google \ google_appengine \ google \ appengine \ runtime \ wsgi.py",line   239,在Handle

handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
     

文件" C:\ Program Files   (x86)\ Google \ google_appengine \ google \ appengine \ runtime \ wsgi.py",line   298,在_LoadHandler

handler, path, err = LoadObject(self._handler)
     

文件" C:\ Program Files   (x86)\ Google \ google_appengine \ google \ appengine \ runtime \ wsgi.py",line   84,在LoadObject中

obj = __import__(path[0])
     

文件" C:\ gaurav \ coding \ python \ myapp \ myapp \ main_v3.py",第107行,in   

gitkit_instance = gitkitclient.GitkitClient.FromConfigFile (path)
     

文件" C:\ gaurav \ coding \ python \ myapp \ myapp \ gitkitclient.py",line   193,FromConfigFile

json_data = simplejson.load(open(config))
     

文件" C:\ Program Files   (86)\谷歌\ google_appengine \谷歌\应用服务引擎\工具\ devappserver2 \蟒\ stubs.py&#34 ;,   第248行,在 init

raise IOError(errno.EACCES, 'file not accessible', filename)
     

IOError:[Errno 13]文件无法访问:   ' C:\拉夫\编码\蟒\ MYAPP \ MyApp的\ JSON \ gitkit - 服务器 - config.json'

     

INFO 2014-08-29 14:34:26,591 module.py:642]默认值:" GET   / _ah / warmup HTTP / 1.1" 500 -

app.yaml的相关摘要:

:: 
handlers: 
# For Google Identity Toolkitv3 Oauth2 
- url: /gitkit-server-config\.json 
  static_files: gitkit-server-config.json 
  upload: gitkit-server-config\.json 
- url: /json 
  mime_type: application/json 
  static_dir: json 
::

文件(" gitkit-server-config.json')被复制并保存在两个地方:

C:\\gaurav\\coding\\python\\myapp\\myapp\\gitkit-server-config.json 
C:\\gaurav\\coding\\python\\myapp\\myapp\\json\\gitkit-server-config.json 

当我将"http://www.myapp.com/gitkit-server-config.json"放入网络浏览器时,文件会被下载。

我做错了什么?感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

所有路径都应该与app.yaml所在的位置相关。所以如果您的目录结构就像

| - myapp/
|   | -app.yaml
|   | - json/
|       | - gitkit-server-config.json

你可以尝试:

path = os.path.join('json', 'gitkit-server-config.json')
gitkit_instance = gitkitclient.GitkitClient.FromConfigFile (path)

答案 1 :(得分:3)

如果您必须使用Python Files IO读取此文件,请不要在app.yaml中声明文件静态。制作非静态副本或更改app.yaml

更新:您可以为app.yaml中的静态目录配置“application_readable:true”:

- url: /static
  static_dir: static
  application_readable: true