我总是在assignmen之前引用这个错误局部变量'url'

2024-09-22 14:21:04 发布

您现在位置:Python中文网/ 问答频道 /正文

它不运行循环

更改了变量url名称,但仍然无效

@

app.route("/processbuy", methods=["POST"])
def processbuy():
 if request.method == "POST":
        index2 = request.form['index2']
        querystring = {"api_key":"NN2T8jrqC6UH5inDezHh"}
        payload = ""
        headers = {
            'cache-control': "no-cache",
            'Postman-Token': "d2cd69a4-e6d4-466c-88b3-0a3987b1cd7d"
        }                              
        print("dsad")
        if index2 == "Stock Market Index at Exchange: NYSE":
                url = "https://www.quandl.com/api/v3/datasets/WFE/INDEXES_NYSE.json"
                response = requests.request("GET", url, data=payload, headers=headers, params=querystring)
                indiceData = json.loads(response.text)
                latestIndicePrices = indiceData["dataset"]["data"][0]
                indexValue = float(latestIndicePrices[5])

        else: 
                if index2 == "NASDAQ-100 Target 25 Notional Net Return Index(XNDXT25NNR)":
                    url = "https://www.quandl.com/api/v3/datasets/NASDAQOMX/XNDXT25NNR.json"
                elif index2 == "Stock Market Index at Exchange: London Stock Exchange FTSE 100":
                    url = "https://www.quandl.com/api/v3/datasets/WFE/INDEXES_LONDONSEFTSE.json"
                elif index2 == "Stock Market Index at Exchange: NYSE":
                    url = "https://www.quandl.com/api/v3/datasets/WFE/INDEXES_NYSE.json"
                response = requests.request("GET", url, data=payload, headers=headers, params=querystring)
                print("response="+response.text)
                indiceData = json.loads(response.text)
                latestIndicePrices = indiceData["dataset"]["data"][0]
                indexValue = float(latestIndicePrices[1])
        print("dwwsw")
        token = session['oauth_token']
        customersAccount = session['fidor_customer']
        customerDetails = customersAccount['data'][0]

当在循环后添加一个打印,它应该显示打印,但它不适合我。在


Tags: httpsapijsonurldataindexexchangeresponse
2条回答

你的问题是变量url可能永远不会被赋值。原因是你的if条件。在

if condition1:
    url = "something"
else:
    if condition2:
        url = "something"
    elif condition3:
        url = "something"
    elif condition4:
        url = "something"
    else: # hypothetical
        url is undefined here # and here is your issue

您可以通过添加最后一个else捕获或在检查任何条件之前将url初始化为默认值来解决此问题。在

如果您使用像Pycharm这样的好IDE,它甚至会在运行代码之前就警告您这些问题。在

只有在index2定义为

相关问题 更多 >