[新手]我编写了一个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()
我想创建一个网络应用程序(使用烧瓶),供用户使用该程序,将他们的文件上传到“输入”。文件夹,然后从'输出'下载结果夹。感谢this topic和其他一些人,我知道如何将多个文件上传到'输入'夹。
现在,我的第一个问题是:如何列出'输出'中的所有文件。文件夹,让用户下载?
我的第二个问题是:如何将烧瓶部件包装/整合到现有程序中?
答案 0 :(得分:1)
这就是基本的Flask Web服务器的样子:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
所以在应用程序中集成您的功能非常简单。只需添加路由功能(如hello)并在代码中调用通常在main中调用的函数,然后在网页上呈现结果,以及一些下载按钮。为此,您可以使用函数render_template
并将输出(以可以迭代的方式更改以获取每个文件)作为参数,如下所示:
@app.route("/")
def hello():
return render_template('name_of_template', output = your_output)
你可以找到Flask文档here,它会告诉你如何做到这一切。 我建议您使用jinja2 API将Python代码添加到HTML模板,例如你可以这样做:
{% for file in output %}
<!-- Output file inside html tag -->
<!-- Add a download button -->
{% endfor %}
您可以找到有关Jinja here
的更多信息当然,您可以将CSV存储在服务器上。