【发布时间】:2012-06-19 07:19:28
【问题描述】:
亲爱的,我正在尝试在运行时导入一个 python 模块(从 admincases 导入 admincases)并遇到问题。请求您的指导。
import os
import threading
import sys
import Queue
import unittest
import time
import logging
from functions import functions
from functions import db_connect
from one import ParametrizedTestCase
#from admincases import admincases
import MySQLdb as mdb
class inittest(unittest.TestCase):
fun = functions()
db = db_connect()
cur = db.db_conn()
cur.execute ("SELECT * FROM testcase")
testcases = cur.fetchall ()
for testcase in testcases:
print "%s, %s" % (testcase[0], testcase[1])
import_string = "from " + testcase[1] + " import " + testcase[1]
print import_string
exec import_string
case = str_to_class(testcase[1])
print case
print "Number of rows returned: %d" % cur.rowcount
suite = unittest.TestSuite()
suite.addTest(ParametrizedTestCase.parametrize(case, param=EppQueue,queue1=CrQueue))
unittest.TextTestRunner(verbosity=2).run(suite)
raw_input("keyy")
执行此代码时,出现以下错误:
return getattr(sys.modules[__name__], str)
AttributeError: 'module' object has no attribute 'admincases'
不知道怎么回事
问候 文卡特.S
【问题讨论】:
-
#from admincases import admincases在评论中? -
@AshwiniChaudhary 是的,这是我试图动态加载的模块
-
如果它是一个包,它是否与这个脚本在同一个目录中,它在那个文件夹中是否有
__init__.py?admincases究竟有什么或现在是什么? -
@Ragav
AttributeError: 'module' object has no attribute 'admincases'告诉你admincases中没有任何名称为admincases -
@samy.vilar 是的,它在同一个目录中,它没有任何init方法调用..它包含测试程序
标签: python unit-testing python-2.7