Python炫技操作:花式导包的八种方法.docxVIP

Python炫技操作:花式导包的八种方法.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Python炫技操作:花式导包的八种方法 人尽皆知的方法,直接导入即可 ?import?os ?os.getcwd() /home/wangbm 与此类似的还有,不再细讲 import?... import?...?as?... from?...?import?... from?...?import?...?as?... 一般情况下,使用 import 语句导入模块已经够用的。 但是在一些特殊场景中,可能还需要其他的导入方式。 下面我会逐一地给你引见。 2. 使用 __import__ __import__ 函数可用于导入模块,import 语句也会调用函数。其定义为: __import__(name[,?globals[,?locals[,?fromlist[,?level]]]]) 参数引见: name (required): 被加载 module 的名称 globals (optional): 包含全局变量的字典,该选项很少使用,接受默认值 global() locals (optional): 包含局部变量的字典,内部标准实现未用到该变量,接受默认值 - local() fromlist (Optional): 被导入的 submodule 名称 level (Optional): 导入路径选项,Python 2 中默认为 -1,表示同时支持 absolute import 和 relative import。Python 3 中默认为 0,表示仅支持 absolute import。假如大于 0,则表示相对导入的父名目的级数,即 1 类似于 .,2 类似于 ..。 使用示例如下: ?os?=?__import__(os) ?os.getcwd() /home/wangbm 假如要实现 import xx as yy 的效果,只需修改左值即可 如下示例,等价于 import os as myos: ?myos?=?__import__(os) ?myos.getcwd() /home/wangbm 3. 使用 importlib importlib 是 Python 中的一个标准库,importlib 能供应的功能格外全面。 它的简约示例: ?import?importlib ?myos=importlib.import_module(os) ?myos.getcwd() /home/wangbm 假如要实现 import xx as yy效果,可以这样 ?import?importlib ? ?myos?=?importlib.import_module(os) ?myos.getcwd() /home/wangbm 4. 使用 imp imp 模块供应了一些 import 语句内部实现的接口。例如模块查找(find_module)、模块加载(load_module)等等(模块的导入过程会包含模块查找、加载、缓存等步骤)。可以用该模块来简约实现内建的 __import__ 函数功能: ?import?imp ?file,?pathname,?desc?=?imp.find_module(os) ?myos?=?imp.load_module(sep,?file,?pathname,?desc) ?myos sep?from?/usr/lib64/python2.7/os.pyc ?myos.getcwd() /home/wangbm 从 python 3 开头,内建的 reload 函数被移到了 imp 模块中。而从 Python 3.4 开头,imp 模块被拒绝,不再建议使用,其包含的功能被移到了 importlib 模块下。即从 Python 3.4 开头,importlib 模块是之前 imp 模块和 importlib 模块的合集。 5. 使用 execfile 在 Python 2 中有一个 execfile 函数,利用它可以用来执行一个文件。 语法如下: execfile(filename[,?globals[,?locals]]) 参数有这么几个: filename:文件名。 globals:变量作用域,全局命名空间,假如被供应,则必需是一个字典对象。 locals:变量作用域,局部命名空间,假如被供应,可以是任何映射对象。 ?execfile(/usr/lib64/python2.7/os.py) ? ?getcwd() /home/wangbm 6. 使用 exec execfile 只能在 Python2 中使用,Python 3.x 里已经删除了这个函数。 但是原理值得自创,你可以使用 open … read ?读取文件内容,然后再用 exec 去执行模块。 示例如下: ?with?o

文档评论(0)

bob157641554 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档