3

フラスコ開発サーバー (win7) からファイルにデータを書き込むのに問題があります。

 @app.route('/')
 def main():

    fo = open("test.txt","wb")
    fo.write("This is Test Data")

 return render_template('index.html')

これがフラスコで機能しないのはなぜですか?

4

3 に答える 3

12

flushファイルまたはファイルに出力する必要がcloseあります。これは、データがまだ I/O バッファーに存在している可能性があるためです。

ファイルを自動的に閉じるため、ステートメントを使用するwithことをお勧めします。

with open("test.txt", "w") as fo:
   fo.write("This is Test Data")
于 2013-07-01T20:42:43.140 に答える
1

@Ashwiniの答えはおそらく正しいですが、ログファイルを持つファイルに書き込んでいる場合は、代わりにFlaskのログサポートを使用する必要があることを指摘したかった. loggingこれは、非常に柔軟なPython のモジュールに基づいています。ドキュメンテーションはこちら

于 2013-07-01T23:44:13.670 に答える