首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >集成烧瓶的Python代码结构

集成烧瓶的Python代码结构
EN

Stack Overflow用户
提问于 2016-07-05 15:23:53
回答 1查看 206关注 0票数 1

我编写了一个python程序,对导入的xlsx文件执行一些数据操作,并将它们保存为csv。看起来有点像这样:

代码语言:javascript
复制
#!/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应用程序(使用烧瓶)的用户使用该程序,上传他们的文件到‘输入’文件夹,然后从‘输出’文件夹下载结果。感谢本题和其他一些人,我知道如何将多个文件上传到“输入”文件夹中。

现在,我的第一个问题是:如何列出“输出”文件夹中的所有文件并让用户下载?

我的第二个问题是:如何将烧瓶部分封装/集成到现有的程序中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-08 11:55:57

基本的Flask web服务器是这样的:

代码语言:javascript
复制
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

因此,将您的功能集成到应用程序中是非常简单的。只需添加一个路由函数(如hello),并调用通常在代码的主目录中调用的函数,然后在网页上呈现结果以及一些下载按钮。为此,您可以使用函数render_template并将输出(修改后的输出可以迭代以获得每个文件)作为参数,如下所示:

代码语言:javascript
复制
@app.route("/")
def hello():
    return render_template('name_of_template', output = your_output)

您可以找到这里文档,它将向您展示如何做到这一点。我建议您使用jinja2 API将Python添加到您的模板中,例如,您可以这样做:

代码语言:javascript
复制
{% for file in output %}
    <!-- Output file inside html tag -->
    <!-- Add a download button -->
{% endfor %}

您可以找到更多关于Jinja 这里的信息。

当然,您可以将CSV存储在服务器上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38207220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档