问题
while reading flask api documentation, I came across this open_resource method that opens file, like this
with app.open_resource('schema.sql') as f:
contents = f.read()
do_something_with(contents)
but why not just do this?
with open('schema.sql') as f:
contents = f.read()
do_something_with(contents)
I want to see a use case where app.open_resource could do something that open can't already do
回答1:
From the docs:
Opens a resource from the application’s resource folder.
With app.open_resource
, paths are always relative to the app's root (resource) folder. They may only be opened for reading, since it would be bad to be able to write to application files in production.
With open
, relative paths are relative to the current directory. Files may be opened in any mode.
来源:https://stackoverflow.com/questions/46076319/why-use-flask-open-resource