免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3169 | 回复: 3
打印 上一主题 下一主题

python 关于动态模块引用并获得该模块类句柄的问题 请指教 多谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-17 11:25 |只看该作者 |倒序浏览
20可用积分
程序文件 A.py B.py C.py
B.py中类B继承A文件的A类

C.py动态加载B.py模块, 同时获得类B的实例化对象,并在实例化对象之后, 在C.py中可以用该对象调用A.py和B.py中的方法
多谢
举个例子:
A.py:
class A():
    def  __init__(self):
        pass
    def  A_out():
        print "Atest"

B.py:
class B(A):
    def  __init__(self):
        pass
    def  B_out():
        print "Btest"

C.py:
如何动态引入 B.py模块,不是在文件顶用import , 同时获得B实例化的对象,然后可以调用B和A中的*_out() 方法 多谢

[ 本帖最后由 power0811 于 2009-11-17 11:29 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-11-17 11:47 |只看该作者
你的意思是不是想动态的导入一些模块?可能__import__可以满足你

>>> help(__import__)
Help on built-in function __import__ in module __builtin__:

__import__(...)
    __import__(name, globals={}, locals={}, fromlist=[], level=-1) -> module

如果是某个目录下的,你可以list下目录文件名,然后__import__这样

论坛徽章:
0
3 [报告]
发表于 2009-11-17 14:21 |只看该作者

回复 #2 smallfish_xy 的帖子

不是这个方法 也没看懂怎么用 呵呵 有别的方法么?

论坛徽章:
0
4 [报告]
发表于 2009-11-17 14:26 |只看该作者
“如何动态引入 B.py模块,不是在文件顶用import”
应该就是用__import__,是你没看懂,要不就是你没说明白。
去了解下__import__是什么再说吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP