2015-05-03 47 views
1

collection.py为什么我的Python脚本不能识别导入模块中的类?

import sys 
import os 
import pymongo 
from pymongo import MongoClient 

class Collection(): 
    """returns a collection curser from mongodb""" 

    client = MongoClient() 

    def __init__(self, db, collection_name): 
     self.db = db 
     self.collection_name = collection_name 

    def getCollection(self): 
     data_base = getattr(self.client, self.db) 
     collObject = getattr(data_base, self.collection_name) 
     return collObject 

main.py

import sys 
import os 
import collection 

def main(): 
    pass 

if __name__ == '__main__': 
    print"Begin Main" 

    agents = Collection('hkpr_restore','agents') 
    print "agents is" , agents 

这些文件在同一目录下。当我运行main.py,但是,我得到一个错误:

Begin Main 
Traceback (most recent call last): 
    File "main.py", line 23, in <module> 
    agents = Collection('hkpr_restore','agents') 
NameError: name 'Collection' is not defined 

从我读过的东西,如果文件在同一目录下,我需要做的是使用import collection

我错过了什么吗?

+0

看看MongoClient如何导入到collection.py – Daniel

回答

5

您只输入了collection而不是Collection

要么做from collection import Collection,要么在实例化时使用全限定名:agents = collection.Collection('hkpr_restore','agents')

相关问题