某些情况下,需要读取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文件。
运行程序,访问/readme.txt,返回结果如下:
延伸知识点:
因为在之前的代码中做过一个简单的url实例,url的定义和本文的定义一样,只是参数名不一样,如下:
这时候就遇到一个问题,当我把今天的url定义放到最后面的时候,其实访问的是/<name>这个url,会一直返回hello xxx, 然后把本文例子的代码放到/<name>这个接口的上面,再次运行,得到正确的结果。