2

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 エラーは発生しません。Web サイトの JavaScript が取得要求を csv ファイルに送信しており、これがトップレベルのディレクトリに対して機能しないため、ハンドラーが必要です (なぜですか?)。csvをトップディレクトリとcsvディレクトリに同時に配置できますが、よりクリーンなソリューションがあると思います。

何か案は?

4

1 に答える 1

4

app.yaml 静的ハンドラーを更新して、application_readable にします。

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

application_readable オプション。デフォルトでは、静的ファイル ハンドラーで宣言されたファイルは静的データとしてアップロードされ、エンド ユーザーにのみ提供され、アプリケーションで読み取ることはできません。

于 2013-06-05T13:13:29.603 に答える