我有一个这样的程序,带有一个 StatFind 类。这个类有三个方法。ncount 方法返回一个字典列表:'finallist'。我需要将列表中的每个字典添加到 mongodb 数据库中。
如何访问我的 inserttomongo() 方法中的决赛名单。
该代码当前给出了一个名称错误:
s.inserttomongo(finallist)
#=> NameError: name 'finallist' is not defined
这是我的代码:
!/usr/bin/python
import pymongo,json
from datetime import date, timedelta
from collections import defaultdict
import os, sys,time,csv,glob
tsvs = glob.glob(sys.argv[1])
class StatFind:
def __init__(self,tsvs):
self.tsvs=tsvs
def ncount(self, tsvs):
if True:
finallist=[]
for path in tsvs:
....Someprocess....
returns a list
return finallist
def other(self):
samplestring= "something random"
print samplestring
def inserttomongo(self, finallist):
self.finallist=ncount().finallist
mongo=pymongo.Connection('localhost')
mongo_db=mongo['sample']
mongo_collection=mongo_db['users']
for dictvalue in self.finallist:
# for dictvalue in ncount(tsvs):
insert_id=mongo_collection.insert(dictvalue)
s=StatFind(tsvs)
s.ncount(tsvs)
s.other()
s.inserttomongo(finallist)