GoogleAppEngine:如何使用python读取文本文件?

时间:2013-02-03 07:31:26

标签: python file google-app-engine

我的项目结构看起来像

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中阅读此文件?

2 个答案:

答案 0 :(得分:6)

如果english.txt只是一个单词列表,我建议将单词列表转换为python列表,这样你就可以导入它了。

如果english.txt包含更复杂的数据,请将其移至适用于您的应用的bigtable或其他数据库。

与标准VPS相比,AppEngine是一个非常残缺的环境,我倾向于避免在基础操作系统上运行的功能,如open()

答案 1 :(得分:2)

你需要使用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())

希望有所帮助!