Flask:如何在应用程序根目录中读取文件?

我的Flask应用程序结构如下所示

application_top/

application/

static/

english_words.txt

templates/

main.html

urls.py

views.py

runserver.py

当我运行时runserver.py,它将在处启动服务器localhost:5000。在我views.py,我尝试打开该文件english.txt作为

f = open('/static/english.txt')

它给出了错误 IOError: No such file or directory

如何访问此文件?

回答:

认为问题出在你/的道路上。删除,/因为static与处于同一级别views.py

我建议将settings.py水平设置为views.py或许多Flask用户喜欢使用,__init__.py但我不喜欢。

application_top/

application/

static/

english_words.txt

templates/

main.html

urls.py

views.py

settings.py

runserver.py

如果这是你要设置的方式,请尝试以下操作:

#settings.py

import os

# __file__ refers to the file settings.py

APP_ROOT = os.path.dirname(os.path.abspath(__file__)) # refers to application_top

APP_STATIC = os.path.join(APP_ROOT, 'static')

现在,你可以轻松执行以下操作:

import os

from settings import APP_STATIC

with open(os.path.join(APP_STATIC, 'english_words.txt')) as f:

f.read()

根据需要调整路径和级别。

以上是 Flask:如何在应用程序根目录中读取文件? 的全部内容, 来源链接: utcz.com/qa/432045.html

回到顶部