某些情况下,需要读取flask网站要目录下的txt文件。但是直接在flask网站的目录下创建一个文件是无法访问的。从网站找了一些资料,最终发现通过写一个方法返回txt内容比较简单方便,不过此方法适用于简单的文件读取以及读取量比较小的时候。详细代码如下:

@app.route('/<path>')
def today(path):
base_dir = os.path.dirname(__file__)
resp = make_response(open(os.path.join(base_dir, path)).read())
resp.headers["Content-type"]="text/plan;charset=UTF-8"
return resp

测试方法,在要目录创建一个readm.txt文件。

clip_image001

运行程序,访问/readme.txt,返回结果如下:

clip_image003

延伸知识点:

因为在之前的代码中做过一个简单的url实例,url的定义和本文的定义一样,只是参数名不一样,如下:

clip_image004

这时候就遇到一个问题,当我把今天的url定义放到最后面的时候,其实访问的是/<name>这个url,会一直返回hello xxx, 然后把本文例子的代码放到/<name>这个接口的上面,再次运行,得到正确的结果。


更多文章,关注微信公众号”挨踢学霸”