首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将数据从Python返回到Javascript

将数据从Python返回到Javascript
EN

Stack Overflow用户
提问于 2012-11-25 13:11:23
回答 3查看 3.9K关注 0票数 4

我有一个Python脚本,可以打印和返回服务器中某个文件夹中的所有图像文件。

代码语言:javascript
运行
复制
import os
images = ""
for dirname, dirnames, filenames in os.walk('..\directory'):
    for filename in filenames:
        images = images + os.path.join(dirname, filename) + "^"
print(images)
return images

我在Javascript中调用它,使用:

代码语言:javascript
运行
复制
$.get("scripts/filename.py", function(data){
  alert(data);
});

但是,它不是获取“打印”或返回的数据,而是显示来自filename.py的代码。我是不是漏掉了什么?

编辑:顺便说一下,我正在使用Google App Engine来托管我的网站。

EN

回答 3

Stack Overflow用户

发布于 2012-11-25 13:38:37

您需要安装一些Web Framework,如Flaskcherrypy。我建议使用Flask,它是最容易入门的Web框架。

然后,您需要有一些端点,您可以向其发送AJAX GET请求,然后Python脚本将返回一个JSON响应。您可以遍历此JSON响应以打印结果。

以下代码可能会为您解决问题:

代码语言:javascript
运行
复制
import sys, os
from flask import Flask, request, url_for, render_template

@app.route('/images')
def index():
    images = ""
    for dirname, dirnames, filenames in os.walk('..\directory'):
        for filename in filenames:
            images = images + os.path.join(dirname, filename) + "^"
    print(images)
    # return a json encoded response
    return Response(json.dumps(images, sort_keys=True, indent=4), mimetype='application/json')

if __name__ == '__main__':
    # Bind to PORT if defined, otherwise default to 5000.
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port)

现在您需要启动服务器,每当您在localhost:5000/images上发送GET请求时,它都会返回您正在寻找的JSON响应。

票数 2
EN

Stack Overflow用户

发布于 2012-11-25 13:13:56

您是否将Python设置为在您的服务器上运行?

  • Configuring the Apache Web Server to Run Python on Windows or
  • How to Configure Apache to run Python on Windows
票数 1
EN

Stack Overflow用户

发布于 2020-03-09 21:19:31

只需将Phyton脚本放在cgi文件夹中

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

https://stackoverflow.com/questions/13548496

复制
相关文章

相似问题

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