我编写了一个python程序,对导入的xlsx文件执行一些数据操作,并将它们保存为csv。看起来有点像这样:
#!/usr/bin/env python2.7
def main():
imported_files = import_files_from_input_folder('/input/*.xlsx')
data_handling_functions(imported_files)
save_processed_files_to_output_folder('/output/')
if __name__ = '__main__':
main()我想要创建一个web应用程序(使用烧瓶)的用户使用该程序,上传他们的文件到‘输入’文件夹,然后从‘输出’文件夹下载结果。感谢本题和其他一些人,我知道如何将多个文件上传到“输入”文件夹中。
现在,我的第一个问题是:如何列出“输出”文件夹中的所有文件并让用户下载?
我的第二个问题是:如何将烧瓶部分封装/集成到现有的程序中?
发布于 2016-07-08 11:55:57
基本的Flask web服务器是这样的:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()因此,将您的功能集成到应用程序中是非常简单的。只需添加一个路由函数(如hello),并调用通常在代码的主目录中调用的函数,然后在网页上呈现结果以及一些下载按钮。为此,您可以使用函数render_template并将输出(修改后的输出可以迭代以获得每个文件)作为参数,如下所示:
@app.route("/")
def hello():
return render_template('name_of_template', output = your_output)您可以找到这里文档,它将向您展示如何做到这一点。我建议您使用jinja2 API将Python添加到您的模板中,例如,您可以这样做:
{% for file in output %}
<!-- Output file inside html tag -->
<!-- Add a download button -->
{% endfor %}您可以找到更多关于Jinja 这里的信息。
当然,您可以将CSV存储在服务器上。
https://stackoverflow.com/questions/38207220
复制相似问题