0

本质上,我有一组运行此条件的条件:

while True:
            try:
                print "trying to buy a"
                buy(ashr ,tickers[0], client)                  
            except:
                continue
            break

这使用了一个 API,该 API 主要利用 MechanicalSoup 来填写网站上的一两个表格。出于某种原因,该操作在运行后将失败并继续运行(如 while True 所说),直到我强制退出程序。

我假设某些东西正在被缓存,因为没有逻辑原因它会失败数百次。

我怎样才能让它完全杀死它正在发生的一切并从头开始重试?

谢谢

编辑:更多代码

def buy(shares, ticker, client):
    client.trade(ticker,ita.Action.buy, shares)

ashr = int(200/ita.get_quote(tickers[0]))

client = ita.Account("example.un", "example.pw")

ita 是 InvestopediaAPI 的主要模块,我用它来在 Investopedia 的纸质交易商上进行买卖。如果我需要提供该 API 中的一些代码,我可以去查找它的源代码。

4

1 回答 1

2

正如 pkisztelinski 所建议的那样,当出现异常时,您要求程序继续下一阶段的迭代,因此如果异常不断发生,它可能会导致无限循环。

但是,如果您想知道发生的异常,您可以这样做

while True:
            try:
                print "trying to buy a"
                buy(ashr ,tickers[0], client)                  
            except Exception as e:
                print('Error occured '+str(e))
                break
于 2018-04-25T22:24:23.873 回答