简体   繁体   English

对导入python模块运行时感到困惑

[英]Confused on importing python module runtime

Dear all am trying to import a python module (from admincases import admincases) in runtime and facing issues on that.requesting your guidance on the same. 亲爱的所有人都在尝试在运行时中导入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")

when this code is executed i get the below error: 当执行此代码时,出现以下错误:

 return getattr(sys.modules[__name__], str)
AttributeError: 'module' object has no attribute 'admincases'

dont know what is the mistake 不知道这是什么错误

Regards Venkat.S 关于Venkat.S

As samy.vilar hinted to, it looks like you should make sure that the admincases module has an admincases variable. 就像samy.vilar暗示的那样,您似乎应该确保admincases模块具有admincases变量。 In fact, your code does from admincases import admincases . 实际上,您的代码是from admincases import admincases

My guess is that if you make from admincases import admincases work, then your code should work. 我的猜测是,如果您from admincases import admincases起作用,那么您的代码应该起作用。

i achieved it via using below method: 我通过使用以下方法实现了它:

test_mod = __import__(testcase[1], fromlist=[])
test_class =  getattr(test_mod, testcase[1])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM