dogrunjp
3/29/2014 - 6:29 AM

Flaskアプリからファイルを書き出すときにアプリケーションのパスを取得するには…

Flaskアプリからファイルを書き出すときにアプリケーションのパスを取得するには…

Flaskアプリからopen(filename, 'w')することはできない、というかこのときfilenameが書き込まれるパスはFlaskアプリのルートにではなくos.path.abspath(os.curdir)になる。たとえばFlaskのstaticディレクトリにJSONを書き出し静的なjson利用したいとしたら

BASE_DIR = os.path.dirnam(__file__)
myfile = open(os.path.join(BASE_DIR,'static/sample.json'), "w")
myfile.write(data)

のように書く