2

私のプロジェクト構造は次のようになります

flask-appengine-template/
                        docs/
                        licenses/
                        src/
                            application/
                                        static/
                                        templates/
                                        models.py
                                        settings.py
                                        urls.py
                                        views.py
                                        english.txt
                        libs/
                            bs4/
                         app.yaml
                         src.py

views.pyの には、ファイルを読み取る関数がありますenglish.txt

      for words in open('english.txt', 'r').readlines():
            stopwords.append(words.strip())

でこれを実行するとlocal environment、ログにエラーが表示されます

(<type 'exceptions.IOError'>, IOError(13, 'file not accessible'), <traceback object at 0x10c457560>)

Google App Engine でこのファイルを読み取るにはどうすればよいですか?

4

2 に答える 2

6

english.txt が単なる単語のリストである場合は、単語のリストを python リストに変換することをお勧めします。そうすれば、インポートするだけで済みます。

english.txt にもっと複雑なデータがある場合は、アプリで利用できる bigtable またはその他のデータベースに移動します。

AppEngine は、標準の VPS と比較して非常に不自由な環境ですopen()。.

于 2013-02-03T12:04:21.907 に答える
3

ファイルパスへの適切な参照を取得するには、次の行に沿って os.path を使用する必要があります。

def read_words():
    import os.path
    folder = os.path.dirname(os.path.realpath(__file__))
    file_path = os.path.join(folder, 'english.txt')
    for words in open(file_path, 'r').readlines():
        stopwords.append(words.strip())

それが役立つことを願っています!

于 2013-02-03T18:51:36.073 に答える