第十七章:运行时特性-sys:系统特定配置-模块和导入-定制包导入

17.2.6.6 定制包导入
可以采用同样的方式加载其他模块和子包。

import sys
import sys_shelve_importer


def show_module_details(module):
    print('  message     :',module.message)
    print('  __name__    :',module.__name__)
    print('  __package__ :',module.__package__)
    print('  __file__    :',module.__file__)
    print('  path__      :',module.__path__)
    print('  __loader__  :',module.__loader__)

filename = '/tmp/pymotw_import_example.shelve'
sys.path_hooks.append(sys_shelve_importer.ShelveFinder)
sys.path.insert(0,filename)
print('Import of "package.module1":')
import package.module1

print()
print('Examine package.module1 details:')
show_module_details(package.module1)

print()
print('Import of "package.subpackage.module2":')
import package.subpackage.module2

print()
print('Examine package.subpackage.module2 details:')
show_module_details(package.subpackage.module2)

查找工具接收要加载的模块的完整名(有点号),并返回一个ShelveLoader,其被配置为从指向这个shelf文件的路径入口加载模块。模块的完全限定名被传递到加载工具的load_module()方法,它会构造并返回一个module实例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值