为什么';我的Python脚本无法识别导入模块中的类吗?

为什么';我的Python脚本无法识别导入模块中的类吗?,python,module,Python,Module,collection.py 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

collection.py

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
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

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
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
beginmain
回溯(最近一次呼叫最后一次):
文件“main.py”,第23行,在
代理=集合('hkpr_restore','agents')
NameError:未定义名称“集合”
据我所知,如果文件在同一个目录中,我所需要做的就是使用
import collection


我遗漏了什么吗?

您只导入了
集合
,而不是
集合


从集合导入集合,或者在实例化时使用完整的限定名:
代理=集合。集合('hkpr_restore','agents')
您只导入了集合,而不是集合


请执行从集合导入集合的
,或者在实例化时使用完整的限定名:
agents=collection.collection('hkpr_restore','agents')

查看MongoClient如何导入集合。py查看MongoClient如何导入集合。py