Python中常见的模块

为了解决维护问题,一般情况下,在一个完整的项目中,会将特定的功能分组,分别放到不同的  文件中,在使用的过程中,可以单独维护,各个不同的文件之间互不影响,每个.py文件就被称为  一个模块,通过结合包的使用来组织文件。

封装思路:函数=>=>模块=>=>项目

优点:

  1. 提高了代码的可维护性
  2. 提高了代码的复用性【当一个模块被完成之后,可以在多个文件中使用】  
  3. 引用其他的模块【第三方模块】
  4. 避免函数名和变量的命名冲突

#模块

'''

模块就是一个python文件模块分类:

1.内置模块: python 本身提供的模块 比如:os random time

2.自定义模块: 我们自己根据项目的需求,自己书写的模块

3.第三方模块:别人写好的具有特殊功能的模块

          a.在使用第三方模块的时候,需要先安装 比如:numpy pandas flask

          b.导入和使用

'''

#模块导入的方式:

#第一种: import模块名

#第二种: from模块名import模块名里面的方法

#示例:

#导入内置模块rimportos

fromrandom importrandint

1、自定义import模块

代码演示:

#导入自定义模块

# import module1

#使用自定义模块的变量

# print(module1.name) # print(module1.age) # print(module1.love)

2、自定义from-import模块

代码演示:

frommodule1 import*

3、自定义from-import*模块

代码演示:

# * 表示通配符 模糊导入,使用*号后,可以直接使用模块中的所有的内容,比如变量,方法等(不推使用)

'''

from module1 import*print(name) print(age) print(love)

'''

#精确导入(推荐)

frommodule1 importname,age print(name)

print(age)

#给模块起别名as

importrandom asr

# print(r.randint(1,10))

总结:在python中,每个py文件其实都是一个模块,如果跨模块调用函数,则采用导入的方式将不同的功能进行划分,调用函数的时候相对比较方便的。

4、第三方模块

第三方模块:别人写好的具有特殊功能的模块

a.在使用第三方模块的时候,需要先安装 比如:numpy pandas flaskb.导入和使用

更新pip版本

python -m pip install --upgrade pip

第一种操作第三方模块的方式:

pip 专门用来安装和卸载python相关扩展的工具

pip -V查看当前pip的版本号

pip list查看当前项目安装的所有的扩展

pip install 扩展名(包名) 安装指定的包

一般我们在安装包的时候,会使用国内的镜豆瓣的镜像源 s

安装flask框架

pip install flask -i https://pypi.doubanio.com/simple/

练习: 尝试去安装 numpy pandas flask requests lxml

pip uninstall 扩展名(包名)

pip uninstall flask

pip show扩展名(包名)第二种操作第三方模块的方式:

通过pycharm编辑器:文件->设置->项目->python解释器:

+表示安装包

-表示卸载包x

5、time时间模块

代码演示:

importtime

# 获取时间戳 197011000秒到现在经过的秒数

time.time()

#延迟程序多长时间执行一次

time.sleep()

6、datetime日期模块【掌握】

是对time模块的封装,比time模块更加全面

import datetime#获取当前的日期对象

date = datetime.datetime.now() print(date)

#设置日期对象

date1 = datetime.datetime(year=2022,month=11,day=10,hour=10,minute=23,second=11)

print(date1)

print(type(date1)) # <class 'datetime.datetime'>

print(date1.year,date1.month,date1.day) #  print(date1.hour,date1.minute,date1.second) # 

print(date1.date()) # 2022-11-10

print(date1.time()) # 10:23:11

#datetime.datetime类型转换为字符串

# strftime()将日期对象转换为字符串

print(type(date1.strftime("%Y-%m-%d %H:%M:%S"))) # <class 'str'>print(date1.strftime("%Y{}%m{}%d{}").format("","","")) #20221110

# strptime()将字符串转换为日期对象

str1 = "2021-07-27 10:40:21"

print(type(datetime.datetime.strptime(str1,'%Y-%m-%d %H:%M:%S'))) #<class'datetime.datetime'>

# timestamp() 日期对象转换为时间戳da daimestamp()) # 1668046991.0

#fromtimestamp() 时间戳转换为日期对象

print(datetime.datetime.fromtimestamp(1668046991.0)) # 2022-11-10 10:23:11

#时间差

d1 = datetime.datetime(2022,1,13) d2 = datetime.datetime(2021,10,1) print(d1 - d2)

print(d2 - d1)

#timedelta 代表两个日期之间的时间差

dt = datetime.timedelta(days=5,hours=8) print(d1 + dt) # 2022-01-18 08:00:00

print(d1 - dt)  #  2022-01-07 16:00:00

'''

# %y两位数的年份表示(00-99

# %Y四位数的年份表示(000-9999

# %m月份(01-12

# %d月内中的一天(0-31

#%H 24小时制小时数(0-23#%I 12小时制小时数01-12#%M 分钟数(00-59

# %S秒(00-59

# %a本地简化星期名称# %A本地完整星期名称# %b本地简化的月份名称# %B本地完整的月份名称

# %c本地相应的日期表示和时间表示

# %j年内的一天(001-366

# %p本地A.M.P.M.的等价符

# %U一年中的星期数(00-53)星期天为星期的开始

# %w星期(0-6),星期天为星期的开始

# %W一年中的星期数(00-53)星期一为星期的开始

#%x本地相应的日期表示#%X本地相应的时间表示# %% %号本身

​​​​​​​7、os模块

用于获取系统的功能,主要用于操作文件或者文件夹

代码演示:

importos

#listdir 查看指定目录下面所有的文件夹和文件

# r""将字符串中的特殊字符进行转义print(os.listdir(r"C:\Users\chenbingjie\Desktop\python2105\day11"))

#['test.py', '代码', '作业', '昨日作业', '笔记', '视频']

# 当前目录 .

# 上级目录 ..

#curdir 表示当前目录

print(os.curdir) # .

#getcwd() 获取当前路径

print(os.getcwd()) #C:\Users\chenbingjie\Desktop\python2105\day11\代码

#mkdir() 创建文件夹(不能创建已经存在的文件夹)#os.mkdir("测试")

#makedirs() 创建多层文件夹

# os.makedirs("a/b/c")

# rmdir()删除文件夹(只能删除空文件夹) # os.rmdir("demo")

# rename()重命名文件夹或者重命名文件

# os.rename("a","a11")

# ./表示当前目录 ../表示上级目录

# os.rename("../test.py","../demo.py")

# remove()删除文件

# os.remove("demo.py")

#os.path.join() 拼接路径print(os.path.join(r"C:\Users\chenbingjie\Desktop\python2105\day11\","func.py"))

#os.path.split() 拆分路径

path =r"C:\Users\chenbingjie\Desktop\python2105\day11\代码\1栈和队列.py"print(os.path.split(path))

#os.path.splitext() 拆分文件和扩展名

print(os.path.splitext(path))

# os.path.abspath获取绝对路径

print(os.path.abspath("func.py"))

#os.path.getsize() 获取文件大小

print(os.path.getsize("func.py"))

# os.path.isfile() 判断是否是文件,若是文件返回True 若不是文件 返回Falseprint(os.path.isfile("func.py")) # True

#os.path.isdir() 判断是否是文件夹,若是文件夹 返回True 若不是文件夹 返回False

print(os.path.isdir("a11")) # True

# os.path.exists() 判断文件或者文件夹是否存在 若存在返回True 若不存在 返回Falseprint(os.path.exists("demo.py")) #False

#os.path.dirname 获取路径的文件夹部分

print(os.path.dirname(path))

#os.path.basename 获取路径的文件名部分

print(os.path.basename(path))

重点掌握:

1.获取指定路径下的文件夹和文件

os.listdir() 

2.创建目录(目录存在,不能创建)

os.mkdir()

3.​​​​​​​创建多层目录

os.makedirs()

4.删除目录

os.rmdir()

5.删除文件

os.remove()

6.重命名文件或者重命名文件夹

os.rename()​​​​​​​


版权声明:本文为weixin_43697367原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。