迭代加法的Python语法错误,例如x + = 1

时间:2019-01-29 17:28:25

标签: python python-3.x anaconda spyder

为Finviz构建库存数据抓取工具。我正在使用通过Anaconda为Python 3.7安装的Spyder3。

我的代码如下。当我执行x = 0,然后在终端中逐行执行x = x + 1代码时,它工作得很好。当我运行整个脚本时,如果使用x + = 1或x = x + 1,我会收到相同的错误。

def finviz_query(tickerlist):

'''Get's source code from FinViz and Creates a List of Lists for Export '''
url="https://finviz.com/screener.ashx?v=140&t=" + str(stocks)
response = requests.get(url)
source=response.text
soup = bs4.BeautifulSoup(source)
priceLST = [i.get_text() for i in soup.find_all('a')]
del priceLST[0:37]
del priceLST[len(priceLST)-2:len(priceLST)]
stockLST = re.split(',',stocks)
stock_outputLST = []
while len(priceLST) > 0:
    if priceLST[0] in stockLST:
        stock_outputLST.append([priceLST[0:16]])
        del priceLST[0:16]
    if len(priceLST) < 1:
        break
x = 0
while x < len(stock_outputLST):
    if x < len(stock_outputLST):
        stock_outputLST[x][0].append(time.strftime("%Y-%m-%d;%H:%M")
        x = x + 1
    else:
        break
stock_outputLST[len(stock_outputLST)-1][0].append('0')
stock_outputLST[len(stock_outputLST)-1][0].append(time.strftime("%Y-%m-%d;%H:%M"))

错误输出在这里:

...:stock_outputLST[len(stock_outputLST)-1][0].append(time.strftime("%Y-%m-%d;%H:%M"))
...: return print('finviz_query complete')
  File "<ipython-input-114-81b306b1a6de>", line 22
    x = x + 1
    ^
SyntaxError: invalid syntax

谢谢!

1 个答案:

答案 0 :(得分:3)

每当您收到这样的错误但没有任何意义时,请查看上面的行:

    stock_outputLST[x][0].append(time.strftime("%Y-%m-%d;%H:%M")

您最后缺少右括号)