当前位置:   article > 正文

怎么导入python_python怎么导入模块

apt-get 安装的包如何用python导入

本文收集整理关于python怎么导入模块的相关议题,使用内容导航快速到达。

内容导航:

Q1:如何导入python中的模块

定义模块,只要使用文本编辑器,把一些python代码输入到文本中,然后以.py为后缀名进行保存,任何此类文件都会被认为是python模块。

比如说,下面的代码输入到一个文件中,就可以看作是一个模块:

def printme(var):print varif __name__ == __main__:printme(1)

假设说输入到a.py中,那么import a就可以把这个模块导入。

然后可执行a.printme(3),屏幕即可打印出3:

>>> a.printme(3)3>>>

一个模块顶层定义的变量,会自动变成模块的属性。例如:

data=http://127.0.0.1/yijitao/[1,2,3]def printme(var):print varif __name__ ==__main__:printme(1)

data变量就是模块的一个属性。其实printme也是一个属性,只不过是一个函数罢了。

引入模块示例如下:(假定此时data=http://127.0.0.1/yijitao/[1,2,3]未定义)

>>> import a>>> a.data Traceback (most recent call last): File "", line 1, in a.dataAttributeError: module object has no attribute data>>> reload(a)>>> a.data Traceback (most recent call last): File "", line 1, in a.dataAttributeError: module object has no attribute data>>>

从上述提示可以看出data属性未定义,此时再在a.py文件中定义data=http://127.0.0.1/yijitao/[1,2,3],重新加载a模块,并输出data属性:

>>> reload(a)>>> a.data[1, 2, 3]>>>

这里的reload函数可以重新加载一个模块。如果在模块代码中更改了,那么需要重新加载。

上面a.data,就是访问模块中的属性。

上面的例子是导入一个文件作为一个模块。

其实python的模块导入还有更丰富的内容。

除了模块名之外,python也可以导入指定目录路径。python代码的目录就称为包。因此,这类导入就称为包导入。事实上,包导入是把计算机上的目录变成python的一个命名空间。而属性就是目录中包含的子目录或者是模块文件。

看下面例子:

在我的桌面上有一个aa文件夹,里面有bb文件夹,bb里面有a.py这个文件。

那么在aa和bb文件夹中分别放置一个__init__.py,之后,在命令行中import aa.bb.a,就可以导入模块a了。

Q2:python 怎么导入smbus模块

什么操作系统?

Ubuntu的话试试这个:sudoapt-getupdate

sudoapt-getupgrade

sudoapt-getdist-upgrade

sudoapt-getinstallbuild-essentialpython-devpython-setuptoolspython-pippython-smbus

sudoapt-getinstalllibncursesw5-devlibgdbm-devlibc6-dev

sudoapt-getinstallzlib1g-devlibsqlite3-devtk-dev

sudoapt-getinstalllibssl-devopenssl

sudoapt-getinstalllibffi-dev

或sudoaptinstall-ypython3-smbus

Q3:python怎么导入模块gevent

Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。

gevent是第三方库,通过greenlet实现协程,其基本思想是:

当一个greenlet遇到IO操作时,比如访问网络,就自动切换到其他的greenlet,等到IO操作完成,再在适当的时候切换回来继续执行。由于IO操作非常耗时,经常使程序处于等待状态,有了gevent为我们自动切换协程,就保证总有greenlet在运行,而不是等待IO。

Q4:python 模块可以相互导入吗

模块A中import B,而在模块B中import A。这时会怎么样呢?这个在Python列表中由RobertChen给出了详细解释,抄录如下:[A.py]

from B import D

class C:pass

[B.py]

from A import C

class D:pass

为什么执行A的时候不能加载D呢?

如果将A.py改为:import B就可以了。

这是怎么回事呢?

RobertChen:这跟Python内部import的机制是有关的,具体到from B import D,Python内部会分成几个步骤:

在sys.modules中查找符号"B"

果符号B存在,则获得符号B对应的module对象。

从的__dict__中获得符号"D"对应的对象,如果"D"不存在,则抛出异常

如果符号B不存在,则创建一个新的module对象,注意,这时,module对象的__dict__为空。

执行B.py中的表达式,填充的__dict__ 。

从的__dict__中获得"D"对应的对象,如果"D"不存在,则抛出异常。

所以,这个例子的执行顺序如下:

1、执行A.py中的from B import D

由于是执行的python A.py,所以在sys.modules中并没有存在,首先为B.py创建一个module对象(),注意,这时创建的这个module对象是空的,里边啥也没有,在Python内部创建了这个module对象之后,就会解析执行B.py,其目的是填充这个dict。

2、执行B.py中的from A import C

在执行B.py的过程中,会碰到这一句,首先检查sys.modules这个module缓存中是否已经存在了,由于这时缓存还没有缓存,所以类似的,Python内部会为A.py创建一个module对象(),然后,同样地,执行A.py中的语句。

3、再次执行A.py中的from B import D

这时,由于在第1步时,创建的对象已经缓存在了sys.modules中,所以直接就得到了,但是,注意,从整个过程来看,我们知道,这时还是一个空的对象,里面啥也没有,所以从这个module中获得符号"D"的操作就会抛出异常。如果这里只是importB,由于"B"这个符号在sys.modules中已经存在,所以是不会抛出异常的。

上面的解释已经由Zoom.Quiet收录在啄木鸟了,里面有图,可以参考一下:

Q5:python怎么导入自己写的模块

把自写模块和当前的python文件放在同一个文件夹,然后通过如下语句导入:

from . import module_name

Q6:在python中导入模块中的对象有哪几种方式

1、导入整个模块:

一般格式为:

import 模块1[模块2[,...]]

模块名就是程序文件的前缀,不含.py,可一次导入多个模块,导入模块后,调用模块中的函数或类时,需要以模块名为前缀,这样代码读起来更容易理解.

例:

>>>import math

>>>math.sin(0.5)

0.4794255

2、与form联用导入整个模块:

一般格式为:

form 模块名 import*

这种方式导入模块后,调用模块中的函数或类,仅使用函数名或类名,代码简洁,但可读性差,不容易理解

例:

>>>form math import*

>>>cos(0.5)

0.8775825

3、与form联用导入一个或多个对象:

一般格式为:

form 模块名 import 对象1[,对象2[,对象...]]

这种方式只导入模块中的一wWW.yIJITAO%.Com个或多个对象,调用模块中的对象时,仅使用对象名(#与方法二类似)

例:

>>>form math import sin,cos,exp

>>>sin(0.5)

0.4794255

>>>cos(0.5)

0.8775825

>>>exp(1)

2.7182818

扩展资料

Python中常用模块

math:模块定义了标准的数学方法,如sin、cos

random:模块提供了各种方法来产生随机数

datetime:模块中有日期时间处理方法

time:模块中有时间、时钟、计时相关的方法

tkinter:模块提供了图形界面开发的方法

www.YijItAO.co@m

Q7:如何在Python中导入Android模块

应该先下载一个android模块,再导供袱垛惶艹耗讹同番括入。我的也是:ImportError: No module named android

找不到模块,你环境变量设置的有问题吧。如果没有在默认的python lib目录下,你应该要手工加进去的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/272188
推荐阅读
相关标签
  

闽ICP备14008679号