Python try except在添加for循环后不工作

rjzwgtxy  于 2023-04-22  发布在  Python
关注(0)|答案(1)|浏览(148)

不知道这是什么问题,因为我在几个地方使用相同的代码,但只在一个地方中断。连接到sql db以将值追加到列表。Python 3.x

powder = []
try:
    cnxn = p.connect('DRIVER={/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.5.so.2.1};SERVER='+server+';DATABASE='+db+';UID='+un+';PWD='+pw)
    cursor = cnxn.cursor()
    cursor.execute("SELECT * FROM Table WHERE Something='THING'")
    powd = cursor.fetchall()
except:
    powd = [['DUCKS']]

for p in powd:
     powder.append(p[0])

如果for循环被关闭,它会完美运行,try成功,powd有我需要的所有值。当我添加for循环时,try每次都失败(第一行甚至没有运行)。我试着将for循环移动到try中,还试着在except之后添加finally。我正在为不同的SQL语句运行相同的代码(其中大部分是更复杂/更大的数据集),这段代码工作得很完美。不知道是什么原因导致它在这方面失败,或者如何解决它。任何想法/建议都很感激。

guicsvcw

guicsvcw1#

想明白了

import pyodbc as p

for循环使用p作为变量,一旦我将其更改为pn,它就像一个魅力。试图使用我已经设置的变量。Opps。

for pn in powd:
     powder.append(pn[0])

相关问题