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.pyimport 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 osfrom settings import APP_STATIC
with open(os.path.join(APP_STATIC, 'english_words.txt')) as f:
f.read()
根据需要调整路径和级别。
以上是 Flask:如何在应用程序根目录中读取文件? 的全部内容, 来源链接: utcz.com/qa/432045.html