目录结构
一、Python模块简介
1.Python模块是什么?
2.使用模块的必要性&优点
二、Python模块的引用
三、Python跨目录模块的引用
1.同一目录,不同模块之间引用
2.不同目录模块的引用(跨目录引用)
四、模块的使用案例
1. 爬虫模块:urllib
2. 浏览器控制模块:webbrowser
3. 图形处理模块:PIL
4. 操作系统处理模块:os
一、Python模块简介
1.Python模块是什么?
Python模块(Module),是一个Python文件,以.py结尾,包含了Python对象定义和Python语句。
如:Student.py中相当于一个Student模块,在其中定义了Student的属性、方法
#创建一个Student类
class Student():
#定义Student类的属性
def __init__(self,name,city):
self.name = name
self.city = city
print("My name is %s and come from %s" %(name,city))
#定义talk()方法
def talk(self):
print("Hi, girls and boys !")
#定义write()方法
def write(self):
print("人生苦短,我用Python")
2.使用模块的必要性&优点
随着项目功能和需求增多,代码量增大,若把全部代码放在一个文件会显得冗余,因此需要使用模块进行分区管理。
优点:
1)极大提高代码的可维护性
2)编写代码不必从零开始
3)当一个模块编写完毕,即可被其他地方引用
二、Python模块的引用
#导入time模块
import time
#调用ctime()方法,显示当前系统时间
print(time.ctime())
输出结果:
Thu Jun 21 23:49:00 2018
#导入random模块
import random
#获取[1-10]的随机整数
num = random.randint(1,10)
print(num)
#从time模块导入sleep()方法,
from time import sleep
#执行延迟5s的函数
sleep(5)
print("Sleep over")
可以从代码区右键查看time模块下的所有方法
三、Python跨目录模块的引用
1.同一目录,不同模块之间引用
在同一目录School下,TestModule模块中,从Student模块导入Student类
输出结果:
My name is Harry and come from Chengdu
Hello,friends!
2.不同目录模块的引用(跨目录引用)
在Py_Script目录下的Module模块中,引入School目录下Student模块的Student类
输出结果:
My name is Jack and come from Beijing
Hello,friends!
四、模块的使用案例
1. 爬虫模块:urllib
from urllib import request
# 利用request模块请求指定的url,读取请求返回的数据
url="http://www.sogou.com"
data=request.urlopen(url).read()
# 将请求返回的数据进行解码(确保显示中文),然后输出到控制台
print(data.decode())
2. 浏览器控制模块:webbrowser
import webbrowser
# 控制浏览器打开指定的url
url="http://www.baidu.com"
webbrowser.open(url)
3. 图形处理模块:PIL
from PIL import Image,ImageFilter
# 打开一个图像文件
pic1=Image.open(r'D:\CI_Env\Python_Test\file.jpg')
# 调用滤镜进行模糊处理
pic2=pic1.filter(ImageFilter.BLUR)
# 保存处理后的图像文件
pic2.save(r'D:\CI_Env\Python_Test\file.jpg')
4. 操作系统处理模块:os
import os
# 打开程序:calc计算器
os.system(r"%windir%\system32\calc.exe")
# 给文件重命名
os.rename(r"D:\CI_Env\Python_Test\file\aaa.txt", r"D:\CI_Env\Python_Test\file\bbb.txt")