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 方面该去哪里——我只是在寻找朝着正确方向迈出的一步,也许读取两个数字或字母(在文件中)并将它们输出到同一页面上?

烧瓶/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

The documentation on the flask site (http://flask.pocoo.org/docs/patterns/fileuploads/) demonstrates how to properly and safely handle file uploads, I would start there. If you wish to parse the file before/instead of saving it, you should be able to use the stream property/attribute on the FileStorage object you're given access to via request.files.

于 2011-02-10T07:55:13.900 回答
1

我假设您的代码从烧瓶的角度来看是正确的。我的猜测是该文件是一个类似 python文件的对象。这方面的文档会告诉您有关读取和写入文件的所有信息。

就解析而言,这取决于格式。我的建议是编写一些代码,以您期望的格式读取文件,并使您的解析例程可靠。然后将其放入您的 process_file 函数中。

就 jquery 而言,它是一个 javascript 库。如果您打算将它用于ajax,只要烧瓶会说http,它就不需要知道烧瓶是什么。它不会使文件解析变得更简单。

于 2011-02-09T21:47:24.220 回答