第十七章:运行时特性-sys:系统特定配置-模块和导入-导入工具缓存

17.2.6.10 导入工具缓存
每次导入一个模块时都要搜宿舍所有hook,这样可能很耗费时间。为了节省时间,会维护一个sys.path_importer_cache,作为路径入口与加载工具(可以使用值查找模块)之间的一个映射。

import os
import sys

prefix = os.path.abspath(sys.prefix)

print('PATH:')
for name in sys.path:
    name = name.replace(prefix,'...')
    print(' ',name)

print()
print('IMPORTERS:')
for name, cache_value in sys.path_importer_cache.items():
    if '..' in name:
        name = os.path.abspath(name)
    name = name.replace(prefix,'...')
    print('  {}:{!r}'.format(name,cache_value))

使用一个FIleFinder来标识文件系统上找到的路径位置。对于所有查找工具都不支持的路径,其中的位置与一个None值关联,以为内它们不能用来导入模块。以下输出显示了缓存导入,不过由于版面限制,这里做了删减。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值