为什么使用flask open_resource

use*_*685 6 python flask

在阅读flask api文档时,我遇到了这个打开文件的open_resource方法,就像这样

with app.open_resource('schema.sql') as f:
contents = f.read()
do_something_with(contents)
Run Code Online (Sandbox Code Playgroud)

但为什么不这样做呢?

with open('schema.sql') as f:
contents = f.read()
do_something_with(contents)
Run Code Online (Sandbox Code Playgroud)

我想看到一个用例,其中 app.open_resource 可以做一些 open 不能做的事情

dav*_*ism 9

文档

从应用程序的资源文件夹中打开一个资源。

使用app.open_resource,路径始终相对于应用程序的根(资源)文件夹。它们可能只能被打开用于读取,因为在生产中写入应用程序文件会很糟糕。

使用open,相对路径是相对于当前目录的。文件可以以任何模式打开。