クラスStatFindを使用したこのようなプログラムがあります。このクラスには 3 つのメソッドがあります。ncount メソッドは辞書のリストを返します: 'finallist'。これらの各辞書をリストから mongodb データベースに追加する必要があります。
inserttomongo() メソッド内で最終リストにアクセスするにはどうすればよいですか。
コードは現在 nameerror を与えます:
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)