4

私は最近、友人を支援している単純なプロジェクトに使用する使いやすい Web フレームワークに関する質問についてアドバイスを受け、Flaskを使用するよう提案されました。

これまでのところすべてがうまくいっていますが、その場でファイルを読み取り、ファイルの内容を私が持っている関数に渡す方法 (または可能であれば) を見つけようとしています。

たとえば、次のようなものを使用したいと思います。

HTML 側:

<form action="process_file" method=post enctype=multipart/form-data> 
    <input type='file' name='file'> 
    <input type='submit' value="Upload and Process Selected File"> 
</form> 

HTMLを使用して実際のページで必要なのはこれだけだと思います。これにより、必要なファイルのパスを取得できるため、上記のファイルを読み取ることができることを願っています。

Flask/Python 側のどこに行けばよいかわかりません - おそらく 2 つの数字または文字 (ファイル内) を読み取って同じページに出力するなど、正しい方向へのステップを探しているだけです。

フラスコ/Python 側:

@app.route('/process_file', methods=['GET', 'POST'])
def process_file():
    if request.method == 'POST':
        file = request.files.get('file')
        if file:
            "Read file and parse the values into an array?"
            "Pass arguments to a Processing function and outputs result into x)"
            return render_template('index.html',answer = x)
        else:
            return render_template('index.html',error=1)

私が正しい方向に向かっているかどうかはわかりません.Flask / Pythonの経験が豊富な人が私をそこに導くことができると思っただけです.

編集:また、Flask が jQuery とうまく連携しているように見えることにも気付きました。それらを組み合わせて使用​​すると、処理やファイルの解析が簡単になりますか?

みんな、ありがとう。

4

2 に答える 2

10

フラスコ サイト ( http://flask.pocoo.org/docs/patterns/fileuploads/ ) のドキュメントには、ファイルのアップロードを適切かつ安全に処理する方法が示されています。ファイルを保存する前に、または保存する代わりに解析したい場合は、request.files 経由でアクセスできる FileStorage オブジェクトでストリームプロパティ/属性を使用できるはずです。

于 2011-02-10T07:55:13.900 に答える
1

あなたのコードはフラスコの観点から正しいと思います。私の推測では、 file は python file-like objectです。このドキュメントには、ファイルの読み取りと書き込みについて知っておく必要があるすべての情報が記載されています。

解析に関する限り、それは形式によって異なります。私の提案は、期待する形式でファイルを読み取り、解析ルーチンを確実にするコードを作成することです。次にドロップして、それを process_file 関数に組み込みます。

jquery に関する限り、これは JavaScript ライブラリです。ajax に使用する予定がある場合、フラスコが http を話す限り、フラスコが何であるかを知ることは気にしません。ただし、ファイルの解析が簡単になるわけではありません。

于 2011-02-09T21:47:24.220 に答える