本文收集整理关于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 "
从上述提示可以看出data属性未定义,此时再在a.py文件中定义data=http://127.0.0.1/yijitao/[1,2,3],重新加载a模块,并输出data属性:
>>> reload(a)
这里的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或
sudoaptinstall-ypython3-smbusQ3: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对象
从
如果符号B不存在,则创建一个新的module对象
执行B.py中的表达式,填充
从
所以,这个例子的执行顺序如下:
1、执行A.py中的from B import D
由于是执行的python A.py,所以在sys.modules中并没有
2、执行B.py中的from A import C
在执行B.py的过程中,会碰到这一句,首先检查sys.modules这个module缓存中是否已经存在
3、再次执行A.py中的from B import D
这时,由于在第1步时,创建的
上面的解释已经由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[,对象...]]
这种方式只导入模块中的一个或多个对象,调用模块中的对象时,仅使用对象名(#与方法二类似)
例:
>>>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目录下,你应该要手工加进去的。