appengine中静态文件的IO错误

时间:2013-06-05 12:04:26

标签: python google-app-engine

AppEngine抛出以下错误:

IOError: [Errno 13] file not accessible: '/home/username/code/appname/csv/master.csv'

脚本的相关部分如下所示:

project_dir = os.path.dirname(__file__)
csv_data = csv.DictReader(open(project_dir+'master.csv','rU'))

app.yaml的相关部分如下所示:

handlers:
- url: /csv
  static_dir: csv

删除处理程序时出现同样的错误。

仅供参考:将csv文件放入我的应用程序的顶级目录时,我没有收到IO错误。我需要处理程序,因为我的网站上的javascript正在向csv文件发送get请求,这对顶级目录不起作用(为什么?)。我可以在顶层目录和csv目录中同时使用csv,但我认为可以有一个更清洁的解决方案。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

将app.yaml静态处理程序更新为application_readable。

https://developers.google.com/appengine/docs/python/config/appconfig

application_readable 可选的。默认情况下,在静态文件处理程序中声明的文件作为静态数据上载,仅供最终用户使用,应用程序无法读取它们。