我的代码中有一条路由,该路由接收.csv文件并读取该文件。我在粘贴整个路线。当注释行811-819时,一切运行顺利。但是,如果没有,则执行循环并停止执行程序,即终端显示:
david@david:~/tcgp$
这是路线:
@app.route("/uploadhc", methods=['GET','POST'])
def uploadhc():
n,c,con,q,p=0,1,2,3,4
try:
file = request.files['file']
csv_f = csv.reader(file)
data = [row for row in csv_f]
for t in range(1,10):
try:
name=data[t][n]
sets=translate((data[t][c]).lower())
if data[t][con]=='':
state='nm'
else:
state=data[t][con].lower()
if data[t][q]!=666:
quantity=int(data[t][q])
else:
quantity=1
price=str(data[t][p])
print name, state, quantity, price
############# line 811
try:
items=CARDS_COLLECTION.find({'functionalname': name.lower()},{"_id":1})
cardid=j['_id']
for elem in items:
cardid=str(elem['_id'])
except:
cardid='3'
print 'error'
############### line 819
print name, state, quantity, price
except:
print 'excpt'
return ('',204)
except Exception as e:
print '3'
print str(e)
return ('',204)
此外,如果对这两行进行了注释:
for elem in items:
cardid=str(elem['_id'])
调用此路由后,服务器不再停止运行。
我绝对一无所知,因为我使用相同的方法在代码的多个部分中从数据库中获取数据
edit:更奇怪的是,cardid = str(elem ['_ id'])行似乎已成功将所需的值分配给变量cardid。仅当整个循环结束时,服务器才会停止运行。
edit2:除了〜817行以外,什么都没有,如果我在第820行中添加cardid(打印名称等),cardid确实会被打印