如果函数具有空值可能性,则开始 python

Starting python if function with an empty value possibility

此处正在开发自动库存机器人。

我正在尝试在返回空列表值作为参数时启动 "if" 函数,并在返回文本(字符串?)值时结束脚本。这样做的原因是因为我不想在我当前有未平仓交易时执行 if 函数,只有当我没有未平仓交易时才执行。据我所知,我经纪人的 API(Oanda) 中唯一可用于执行此任务的模块是当我没有打开交易时输出 [] 的模块。这是从以下列表中检索到的 {'positions': [], 'lastTransactionID': '4765'} 我的一部分认为我正在尝试做的事情是不可能的,根据我所做的研究,但我希望有人有想法。我在脚本的重要部分周围加了双星号。

    from flask import Flask, request, abort
    import oandapyV20
    import oandapyV20.endpoints.positions as positions
    from exampleauth import exampleAuth


    # Create Flask object called app.
    app = Flask(__name__)


    # Create root to easily let us know its on/working.
    @app.route('/')
    def root():
        return 'online'


    @app.route('/webhook', methods=['POST'])
    def webhook():
        if request.method == 'POST':
            accountID, access_token = exampleAuth()
            api = oandapyV20.API(access_token=access_token)
            client=oandapyV20.API(access_token)
            r=positions.OpenPositions(accountID)
            x=client.request(r)
            **if x['positions']=='[]': #if empty execute if function, if not return 'okay'                      
            data = parse_webhook(request.get_data(as_text=True))
            sell=data['side']
            if data['side']=='sellEURAUD':
                exec(open("marketTPSLEURAUDv2sell.py").read())
            elif data['side']=='buyEURAUD':
                exec(open("marketTPSLEURAUDv2buy.py").read())
        else:
            return 'okay'**

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

只需从空列表中删除引号。 应该是这样-

if x['positions']==[]: