我的项目结构看起来像
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中阅读此文件?
答案 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())
希望有所帮助!