iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中有哪些模块重载的方法
  • 363
分享到

python中有哪些模块重载的方法

2023-06-14 20:06:59 363人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

本篇文章为大家展示了python中有哪些模块重载的方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.pil

本篇文章为大家展示了python中有哪些模块重载的方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

Python有哪些常用库

python常用的库:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。

环境准备

新建一个 foo 文件夹,其下包含一个 bar.py 文件

$ tree foofoo└── bar.py0 directories, 1 file

bar.py 的内容非常简单,只写了个 print 语句

print("successful to be imported")

只要 bar.py 被导入一次,就被执行一次 print

禁止重复导入

由于有 sys.modules 的存在,当你导入一个已导入的模块时,实际上是没有效果的。

>>> from foo import barsuccessful to be imported>>> from foo import bar>>>

重载模块方法一

如果你使用的 python2(记得前面在 foo 文件夹下加一个 __init__.py),有一个 reload 的方法可以直接使用

>>> from foo import barsuccessful to be imported>>> from foo import bar>>>>>> reload(bar)successful to be imported<module 'foo.bar' from 'foo/bar.pyc'>

如果你使用的 python3 那方法就多了,详细请看下面

重载模块方法二

如果你使用 Python3.0 -> 3.3,那么可以使用 imp.reload 方法

>>> from foo import barsuccessful to be imported>>> from foo import bar>>>>>> import imp>>> imp.reload(bar)successful to be imported<module 'foo.bar' from '/Users/MING/Code/Python/foo/bar.py'>

但是这个方法在 Python 3.4+,就不推荐使用了

<stdin>:1: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses

重载模块方法三

如果你使用的 Python 3.4+,请使用 importlib.reload 方法

>>> from foo import barsuccessful to be imported>>> from foo import bar>>>>>> import importlib>>> importlib.reload(bar)successful to be imported<module 'foo.bar' from '/Users/MING/Code/Python/foo/bar.py'>

重载模块方法四

如果你对包的加载器有所了解

还可以使用下面的方法

>>> from foo import barsuccessful to be imported>>> from foo import bar>>>>>> bar.__spec__.loader.load_module()successful to be imported<module 'foo.bar' from '/Users/MING/Code/Python/foo/bar.py'>

重载模块方法五

既然影响我们重复导入的是 sys.modules,那我们只要将已导入的包从其中移除是不是就好了呢?

>>> import foo.barsuccessful to be imported>>>>>> import foo.bar>>>>>> import sys>>> sys.modules['foo.bar']<module 'foo.bar' from '/Users/MING/Code/Python/foo/bar.py'>>>> del sys.modules['foo.bar']>>>>>> import foo.barsuccessful to be imported

有没有发现在前面的例子里我使用的都是 from foo import bar,在这个例子里,却使用 import foo.bar,这是为什么呢?

这是因为如果你使用 from foo import bar 这种方式,想使用移除 sys.modules 来重载模块这种方法是失效的。

这应该算是一个小坑,不知道的人,会掉入坑中爬不出来。

>>> import foo.barsuccessful to be imported>>>>>> import foo.bar>>>>>> import sys>>> del sys.modules['foo.bar']>>> from foo import bar>>>

上述内容就是python中有哪些模块重载的方法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网Python频道。

--结束END--

本文标题: python中有哪些模块重载的方法

本文链接: https://www.lsjlt.com/news/274558.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python中有哪些模块重载的方法
    本篇文章为大家展示了python中有哪些模块重载的方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.pil...
    99+
    2023-06-14
  • python 模块重载的五种方法
    目录环境准备禁止重复导入重载模块方法一重载模块方法二重载模块方法三重载模块方法四重载模块方法五环境准备 新建一个 foo 文件夹,其下包含一个 bar.py 文件 $ ...
    99+
    2024-04-02
  • Python重新加载模块方法
    为防止两个模块互相导入的问题,Python默认所有的模块都只导入一次,如果需要重新导入模块,Python2.7可以直接用reload(),Python3可以用下面几种方法: 方法一:基本方法from imp import reloadre...
    99+
    2023-01-31
    模块 加载 方法
  • python中模块导入的方法有哪些
    在Python中,模块导入的方法有以下几种:1. import语句:使用import关键字导入一个模块。例如:```import m...
    99+
    2023-09-13
    Python
  • Python calendar模块方法有哪些
    这篇文章主要讲解了“Python calendar模块方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python calendar模块方法有哪些”吧!1. ca...
    99+
    2023-06-21
  • Python中OS模块有哪些常用的方法
    这篇文章将为大家详细讲解有关Python中OS模块有哪些常用的方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。import os# 系统操作print(os.sep)&...
    99+
    2023-06-14
  • Python导入模块的方法有哪些
    这篇文章主要介绍“Python导入模块的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python导入模块的方法有哪些”文章能帮助大家解决问题。很多初学者经常遇到这样的问题,即自定义 Py...
    99+
    2023-07-05
  • python模块导入的方法有哪些
    在Python中,有几种导入模块的方法,包括:1. 使用`import`语句导入整个模块:可以使用`import module_na...
    99+
    2023-08-08
    python
  • Python json模块有哪些常用方法
    本文小编为大家详细介绍“Python json模块有哪些常用方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python json模块有哪些常用方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-07-05
  • python有哪些算法模块
    python中的算法模块有以下几种hashlib模块hashlib是一个个专门提供hash算法的模块,其支持openssl库提供的所有算法,包括md5、sha1、sha224、sha256、sha384、sha512、md5等算法。pygo...
    99+
    2024-04-02
  • Python中的模块导入方式有哪些?
    Python是一种功能强大的编程语言,通过使用模块,可以将代码组织成可重用的部分。模块是Python程序中的文件,它包含了一组相关的函数、类和变量等。在Python中,有多种方式导入模块,下面将介绍其中的几种常用的导入方式,并给出相应的代码...
    99+
    2023-10-22
    import AS 模块导入方式关键词: fromimport
  • activity重载的方法有哪些
    在java中,重载是指在一个类中定义多个同名的方法,但它们的参数列表不同。当调用这些方法时,会根据参数的个数、类型和顺序的不同来确定...
    99+
    2023-09-04
    activity
  • python下载模块的方法
    本篇内容介绍了“python下载模块的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、模块的下载Python模块(第三方库): htt...
    99+
    2023-06-30
  • python中有哪些模块类
    本篇文章给大家分享的是有关python中有哪些模块类,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WE...
    99+
    2023-06-14
  • Python包argparse模块常用方法有哪些
    这篇文章给大家分享的是有关Python包argparse模块常用方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。argparse介绍  argparse包用于解释命令行参数。这里给出几个常用的方法。#&n...
    99+
    2023-06-15
  • Python有哪些模块
    本篇内容介绍了“Python有哪些模块”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!os模块 —— 文件操作系统:os,经常装系统的人可能经...
    99+
    2023-06-02
  • Java中方法与方法重载的区别有哪些
    本篇文章给大家分享的是有关Java中方法与方法重载的区别有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。方法:Java的方法类似与其他语言的函数,是一段用来完成特定功能的代...
    99+
    2023-05-31
    java 方法重载 ava
  • python中有哪些常用的模块
    python中有哪些常用的模块,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python是一种面向对象、直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具...
    99+
    2023-06-17
  • Python有哪些导入模块的方式
    本篇内容介绍了“Python有哪些导入模块的方式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!常规导入常规导入应该是最常使用的导入方式,大概...
    99+
    2023-06-02
  • Python模块导入的方式有哪些
    这篇文章给大家分享的是有关Python模块导入的方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。概念Python 模块是一个以 .py 结尾的 Python 文件,包含了 Python 对象定义和Pyth...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作