在日常的开发工作中,我们要写很多的python代码,如果都写在一个文件中,会导致代码特别难维护,为了拓展代码的可维护性,我们把函写在不同的文件里,这样每个文件包含的文件就比较少,逻辑更加清楚。在python中,我们创建的文件基本都是以.py结尾,那一个.py的文件就称之为模块。
为了方便管理方便管理模块,python中又引了包(Package)这个概念。每个包下面都有一个__init__.py文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块。
import codecs
with codecs.open('1.txt','wb')
pass
**import 一般我们用作导入模块来用,常用的快捷键是 art+enter 就可以直接导入模块
2、有时候一个文件或者一个包中已经出现了一个函数,我们在另一个python代码中需要引入该文件或者该文件的某个函数,那怎么解决呢?python给我们提供一个关键字import,下面我们来了解一下它的用法:
1,如果是本地导入文件,直接使用:importfilename
2,如果导入的是一个包,该包下面必须是有__init__.py文件才可以导入,否则报错,只有有了__init__.py文件,python解析器才会把这个目录当成是的包
常用的导入模块常用的格式:
import xxx //import 是直接导入系统模块os 模块
想使用 Python 源文件,只需在另一个源文件里执行 import 语句,语法如下
当解释器遇到import语句,如果模块在当前的搜索路径就会被导入。import module1[, module2[,... moduleN]
搜索路径是一个解释器会先进行搜索的所有目录的列表。
import test.test01 test.test01.hello()
hello world
from xxx import xxx语句 //导入aaa包下面的bbb模块或者导入aaa文件下面的bbb类或者函数
具体语法:from test import test01 test01.hello()
hello world
from ...import 是从什么模块中导入什么,最终可以导入的是一个函数,也可以是一个类,也可以是一个模块。总结,就是一层层的调用
另外还可以如下方法:
结果跟上面执行的结果一致from test.test01 import hello hello()
from ...import*语句//把一个模块的所有内容全部导入到当前的命名空间。hello world
只需如下声明:
from modname import *
from test.test01 import * hello() a()
其中test01 的函数如下:hello world welcom to python
def hello(): print"hello world" def a(): print"welcome to python"
注意:
1. import 后面导入的是什么,在调用的时候,就必须写什么,除非用from导入
2. 导入时不写后缀名。
补充:结果:import test.test01 as aaa print "aaaaaaa" aaa.hello() print 'aaaaaaa'
其中,import test.test01 as aaa//给 test.test01 起了别名 aaaaaaaaaa hello world aaaaaaa