在不同的脚本python之间传递变量

时间:2017-08-01 09:22:54

标签: python flask

我制作了一个脚本python app.py并且我设法存储了来自javascript表单的数据,这要归功于一个烧录应用程序:

app = Flask(__name__)
app.config.from_object('config')
db.init_app(app)

@app.route('/getFormData', methods=['POST'])
def get_javascript_data():
    params = request.form.to_dict()
    sunElevation = params['sunElevation']
    cloudCoverage = params['cloudCoverage']
    thresholdNDVI = params['thresholdNDVI']
    limitScene = params['limitScene']
    city = params['city']
    data_search = passData(sunElevation, cloudCoverage, thresholdNDVI, limitScene, city)
    return jsonify(data_search.data_dict)

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

以下是models.py中的类passData的定义:

class passData:
    def __init__(self, sunElevation, cloudCoverage, thresholdNDVI, limitScene, city):
        self.sunElevation = sunElevation
        self.cloudCoverage = cloudCoverage
        self.thresholdNDVI = thresholdNDVI
        self.limitScene = limitScene
        self.city = city
        self.data_dict = [{'sunElevation':self.sunElevation,'cloudCoverage':self.cloudCoverage, 'thresholdNDVI':self.thresholdNDVI, 'limit':self.limitScene, 'city':self.city}]

我需要在另一个脚本中,在另一个文件夹中使用这些不同的参数(sunElevation ...)来执行图像搜索,然后运行相关的脚本。我的问题是我不知道如何传递这些数据,因为它们似乎只存在于get_javascript_data()中定义的函数中。

如果有人有想法可以帮助我!

2 个答案:

答案 0 :(得分:1)

您只需导入其他脚本,调用该函数并传递参数:

app = Flask(__name__)
app.config.from_object('config')
db.init_app(app)

from path.to.your.file import your_function


@app.route('/getFormData', methods=['POST'])
def get_javascript_data():
    params = request.form.to_dict()
    sunElevation = params['sunElevation']
    cloudCoverage = params['cloudCoverage']
    thresholdNDVI = params['thresholdNDVI']
    limitScene = params['limitScene']
    city = params['city']
    data_search = passData(sunElevation, cloudCoverage, thresholdNDVI, limitScene, city)

    # call the function and pass the parameters
    your_function(sunElevation, cloudCoverage) #...

    return jsonify(data_search.data_dict)

答案 1 :(得分:0)

尝试在文件中添加以下代码,然后导入脚本

import os, sys
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..')))

from eosLandviewer.main_naturalite import search