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



我的项目结构看起来像

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

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

如果 English.txt 具有更复杂的数据,请将其移动到 bigtable 或应用可用的其他数据库。

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

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

希望对您有所帮助!

相关内容

  • 没有找到相关文章

最新更新