首页 > 代码库 > python基础7之python中常用的模块的总结

python基础7之python中常用的模块的总结

本节大纲:

  1. 模块和包
  2. time &datetime模块
  3. random
  4. os
  5. sys
  6. shutil
  7. json & picle
  8. shelve
  9. xml处理
  10. yaml处理
  11. configparser
  12. hashlib
  13. subprocess
  14. logging模块
  15. re正则表达式
一、 模块和包

a.定义:

模块用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件。(例如:文件名:test.py,对应的模块名:test)

包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个__init__.py的文件)

b.导入方法

import module_name

import module_1的本质:是将module_1解释了一遍

也就是将module_1中的所有代码复制给了module_1

from module_name1 import name

本质是将module_name1中的name变量放到当前程序中运行一遍

所以调用的时候直接print(name)就可以打印出name变量的值

模块module_1.py代码:

技术分享
 1 name = "susu"
 2 def say_hello():
 3 print("hello %s" %name)
 4 调用模块的python程序main代码如下:(切记调用模块的时候只需要import模块名不需要加.py)
 5 import module_1
 6    
 7 #调用变量
 8 print(module_1.name)
 9    
10 #调用模块中的方法
11 module_1.say_hello()
View Code

import module_name1,module_name2

from module_name import *(这种方法不建议使用)

from module_name import logger as log(别名的方法

c.导入模块的本质就是把python文件解释一遍

import  module_name---->module_name.py---->module_name.py的路径---->sys.path

导入包的本质就是执行该包下面的__init__.py

关于导入包的一个代码例子:

新建一个package_test包,并在该包下面建立一个test1.py的python程序,在package包的同级目录建立一个p_test.py的程序

技术分享

test1的代码如下:

1 def test():
2      print("int the test1")

package_test包下的__init__.py的代码如下:

1 #import test1 (理论上这样就可以但是在pycharm下测试必须用下面from .import test1)
2 from . import  test1
3 print("in the init")

p_test的代码如下:

1 import package_test   #执行__init__.py
2 package_test.test1.test()

这样运行p_test的结果:

1 D:\python35\python.exe D:/python培训/s14/day5/p_test.py
2 in the init
3 int the test1
4 
5 Process finished with exit code 0

从上述的例子中也可以看出:导入包的时候其实是执行包下的__init__.py程序,所以如果想要调用包下面的python程序需要在包下的__init__.py导入包下面的程序

c.模块的分类

  • 自定义模块
  • 内置标准模块(又称标准库)
  • 开源模块

自定义模块 和开源模块的使用参考 http://www.cnblogs.com/wupeiqi/articles/4963027.html

 

python基础7之python中常用的模块的总结