一、模块、包的概念

模块就是一个包含所有你定义的函数和变量的文件,其后缀名是.py。

模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。

什么是包?

包,package本质就是一个文件夹,和文件夹不一样的是它有一个__init__.py文件,包是从逻辑上来组织模块的,也就是说它是用来存放模块的,如果你想导入其他目录下的模块,那么这个目录必须是一个包才可以导入

二、导入模块

模块分为:

标准模块:Python内置模块

第三方模块:开源模块

自己开发的模块:自己写的模块

为什么需要导入模块?打个比方如果你想在一个A模块中去调用B模块的方法,这个时候就需要去导入B模块其次才能使用B模块中封装的函数方法。导入模块的本质就是把python文件拿过来执行一次。

(使用包中的模块需要在__init__.py文件中from . import xxx)

模块大导入方法为import函数,语法格式如下:

importmodule1[,module2[,...moduleN]

实例

三、random标准模块

random.randint----随机产生一个整数

1 import random #导入模块

2 print(random.randint(1,100)) #随机在1-100之间产生一个整数

random.uniform----随机产生一个小数

importrandomprint(random.uniform(1,1000)) #随机产生一个1-1000之间的小数

random.choice----随机选择1个元素(可以循环的都可以取值)

importrandom

stu= ['1','2','3','4','5','6']print(random.choice(stu)) #随机选择一个元素,choice只要是可以循环的都可以取值

random.sample----随机选择N个元素(可以循环的都可以取值)

importrandom

stu= ['1','2','3','4','5','6']print(random.sample(stu,2)) #随机取N个值

random.random----随机生成的一个实数,它在[0,1)范围内

importrandomprint(random.random())

random.randrange----指定范围生成一个随机整数

importrandomprint(random.randrange(1,100)) #生成一个1到100的随机整数

print( random.randrange(1,100,5) ) #生成一个1到100的间隔为5的随机整数

random.shuffle----洗牌,将原顺序打乱

importrandom

stu= ['1','2','3','4','5','6']print(random.shuffle(stu)) #洗牌,打乱顺序,无返回值;只能传入list

四、time、datetime模块

两个模块都是对时间进行相关的操作;时间戳,即从计算机诞生到现在过了多少时间。

time和datetime模块主要用于操作时间

time.time----获取当前的时间戳

time.sleep()----设置休眠时间,单位为秒

time.gmtime()----把时间戳转换成时间元组,如果不传的话,默认取标准时区的时间戳

time.strftime()----将时间元组转换成格式化输出的字符串,如果时间不传,默认取当前时间的值

time.mktime()----把时间元组转换成时间戳

time.localtime()----把时间戳转换成时间元组,如果不传的话,默认取当前时区的时间戳

time.asctime()----时间元组转换成格式化时间

time.ctime())----时间戳转换成格式化时间

time.timezone()----和标准时间相差的时间,单位是s

importtimeprint(time.time()) #获取当前的时间戳

time.sleep(1) #休眠5秒,继续执行程序

print(time.gmtime()) #把时间戳转换成时间元组,如果不传的话,默认取标准时区的时间戳

print(time.strftime("%Y %m %d %H:%M:%S"))#将时间元组转换成格式化输出的字符串

print(time.strptime("20160204 191919","%Y%m%d %H%M%S"))#将格式化的时间转换成时间元组

print(time.mktime(time.gmtime())) #把时间元组转换成时间戳

print(time.localtime()) #把时间戳转换成时间元组,如果不传的话,默认取当前时区的时间戳

print(time.asctime())#时间元组转换成格式化时间

print(time.ctime())#时间戳转换成格式化时间

print(time.timezone)#和标准时间相差的时间,单位是s

说明:如果想把时间戳转换成格式化好的时间,或者反过来,把格式化好的时间转换成时间戳;则必须将其先转换成时间元祖

例如:把格式化时间修改1、先把格式化好的时间转成时间元祖2、然后时间元祖在转成时间戳3、时间=1992-01-03res= time.strptime('1992-01-03 19:23:59','%Y-%m-%d %H:%M:%S')print(res) #把格式化好的时间转换成时间元祖

print(time.mktime(res)) #把时间元组转换成时间戳

运行结果:694437839.0

格式化好的时间转换时间戳的方法:def str_to_timestamp(time_str=None,format='%Y%m%d%H%M%S'):'''格式化好的时间转时间戳,如果不传参数返回当前时间'''

iftime_str:

time_tuple= time.strptime(time_str,format) #把格式化好的时间转成时间元组

timestamp = time.mktime(time_tuple) #把时间元组转成时间戳

else:

timestamp= time.time() #获取当前的时间戳,# print(time.time()) #获取当前的时间戳,精确到毫秒,有小数点,如果不想要 转换成int类型即可

returnint(timestamp)print(str_to_timestamp())print(str_to_timestamp('20391123175123'))print(str_to_timestamp('2013-08-09','%Y-%m-%d')) #按传入的格式,而非默认格式运行

运行结果:1585092104

2205654683

1375977600

时间戳转换成格式化好的时间的方法:def timestamp_to_strtime(timestamp = None,format = '%Y-%m-%d %H:%M:%S'):'''1、把时间戳转成格式化好的时间;2、如果不传入时间戳,那么就返回当前的时间'''

iftimestamp:

time_tuple= time.localtime(timestamp) #把时间戳转成时间元组,将时间转换成当前时区的时间

str_time = time.strftime(format,time_tuple) #格式化输出时间元组

else:

str_time= time.strftime(format) # returnstr_time

举个例子:

取3个月后的时间

分析:用当前的时间戳+三个月后的秒数,然后把时间戳转成格式化好的时间

time_str= str_to_timestamp() + (3*30*24*60*60)

res=timestamp_to_strtime(time_str)print('3个月后的时间:',res)

运行结果:

三个月后的时间:2020-06-23 07:27:56说明:这里的月都是按照30天计算的正常情况下应该判断当前月的天数

datime.datetime.now()----获取当前时间并格式化输出

datetime.datetime.today()----获取当前的时间信息

datetime.date.today()----获取当前的日志

importdatetimeprint(datetime.datetime.now()) #获取当前时间并格式化输出

print(datetime.datetime.now() + datetime.timedelta(3)) #计算三天后的时间

print(datetime.datetime.now() + datetime.timedelta(-3)) #三天前的时间

print(datetime.datetime.today()) #获取当前的时间

print(datetime.date.today()) #获取当前的日期

python中时间日期格式化符号:

%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 本地相应的时间表示

%Z 当前时区的名称

%% %号本身

五、string模块

string.ascii_lowercase----所有的小写字母

string.ascii_uppercase----所有的大写字母

string.digits----0-9整数

string.punctuation----特殊字符

string.ascii_letters----所有的大小写字母

importstringprint(string.ascii_lowercase) #所有的小写字母

print(string.ascii_uppercase) #所有的大写字母

print(string.digits) #0-9整数

print(string.punctuation) #特殊字符

print(string.ascii_letters) #所有的大小字母

运行结果:

abcdefghijklmnopqrstuvwxyz

ABCDEFGHIJKLMNOPQRSTUVWXYZ

0123456789

!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

六、OS模块

os.mkdir(path)---创建文件夹

os.makedirs(path)---创建递归文件夹

注意:mkdir和madedirs的区别:mkdir 只能创建单层次的文件夹;创建多层文件夹时会报错;makedirs不仅可以创建单层文件夹还能创建多层文件夹

os.rename(src,dst)---重命名文件或目录,从 src 到 dst

os.remove(path)---删除路径为path的文件。如果path 是一个文件夹,将抛出OSError; 查看下面的rmdir()删除一个 directory。

os.removedirs(path)---递归删除目录。只能删除空文件夹,如果文件夹有内容是删除不了的

os.listdir(path)---返回path指定的文件夹包含的文件或文件夹的名字的列表。如果为空不传参数,则显示当前目录下的文件或文件夹名字列表

os.system(命令)---执行操作系统命令,无法返回执行的结果;

os.popen(命令)---用来执行操作系统的命令,可以返回执行的结果

注意:system和popen命令的区别是,system只是单纯的执行命令并将结果显示给用户,是没有返回值的;而popen命令不仅可以显示命令执行结果,还能将结果的值进行返回

os.walk()---可以将指定文件路径下所有的文件及文件夹找出来

os.getcwd()---获取当前文件的路径

os.chdir()---进入到某一个目录(路径)下

os.path.isdir(path)---判断路径是否为目录

os.path.isfile(path)---判断路径是否为文件

os.paht.exists(path)---判断文件或者文件夹是否存在,存在返回true 不存在返回false

os.path.join(path1[, path2[, ...]])---把目录和文件名合成一个路径

os.path.split(path)---把路径分割成文件路径和 文件名称,返回一个元组;

os.path.dirname(path)---返回文件路径;取文件的父目录

os.path.getsize(path)---返回文件大小,如果文件不存在就返回错误;单位是字节

os.path.getctime(path)---返回文件 path 创建时间

os.path.getmtime(path)---返回最近文件修改时间

os.path.getatime(path)---返回文件/目录最近访问时间(浮点型秒数)

os.mkdir('test') #在当前目录下创建一个test文件夹

os.makedirs(r'test\test1\test11') #在test目录下创建递归文件夹

os.rename('test','study') #将当前目录下的test文件夹修改名称为study

os.remove('aa.txt') #删除当前目录下的aa.txt文件(可以指定目录)

os.removedirs(r'study\test1') #会报错,因为test1下边有文件

print(os.getcwd())#获取当前目录的路径

print(os.chdir(r'G:\\')) #修改文件/文件夹路径

print(os.path.isdir('study')) #判断study是否是文件夹

print(os.path.isfile('OS模块.py')) #判断os模块是否是文件

print(os.path.exists('study')) #判断文件或者文件夹是否存在,存在返回true 不存在返回false

print(os.path.join(r'study\test1','OS模块.py')) #将path和文件组成一个新的路径

print(os.path.split(r'c:\test\test1\a.txt')) #把文件路径分割成文件和文件路径两部分并返回一个元组

print(os.path.dirname(r'c:\test\test1\a.txt')) #返回a.txt文件的父目录路径

print(os.path.getsize('OS模块.py')) #返回os文件的大小

print(os.path.getctime('study')) #显示创建时间

print(os.path.getatime('study')) #显示文件夹最近访问时间

print(os.path.getmtime('study')) #显示文件夹最近修改时间

OS.walk()用法:它可以将指定文件路径下所有的文件及文件夹找出来;

其有三个返回参数;

当前目录

目录下的文件

目录下的文件夹

例1:

res= os.walk('china')for cur_path,dirs,files inres:print('当前目录:',cur_path)print('当前目录下所有文件',files)print('当前目录下所有文件夹:',dirs)print('==========================')

运行结果:

当前目录: china

当前目录下所有文件 []

当前目录下所有文件夹: ['beijing']==========================当前目录: china\beijing

当前目录下所有文件 []

当前目录下所有文件夹: ['haidian']==========================当前目录: china\beijing\haidian

当前目录下所有文件 []

当前目录下所有文件夹: []

例2:插件文件方法deffind_file(path,keyword):'''查找文件路径'''res=os.walk(path)for cur_path,dirs,files inres:for file_name infiles:if keyword infile_name:print('该文件在%s目录下'%cur_path)

find_file('G:\\','fullstack')

简述python常用的函数模块_Python学习笔记(十三)—函数常用模块相关推荐

  1. python ipaddress模块_Python学习笔记-IP地址处理模块Ipy

    IP地址处理模块Ipy IPy模块可以很好的辅助我们高效完成IP的规划工作. 安装IPy模块[root@kurol ~]# python36 -m easy_install -i http://pyp ...

  2. python3常用模块_Python学习笔记三(常用模块)

    Python 学习笔记三 (常用模块) 1.os模块 os模块包装了不同操作系统的通用接口,使用户在不同操作系统下,可以使用相同的函数接口,返回相同结构的结果. os.name:返回当前操作系统名称( ...

  3. python函数是一段具有特定功能的语句组_Python学习笔记(五)函数和代码复用

    本文将为您描述Python学习笔记(五)函数和代码复用,具体完成步骤: 函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Pyth ...

  4. python巩固函数和模块_Python学习教程6:函数,模块和类的使用

    Python函数 定义 函数是组织好的,可重复利用的,用来实现单一,或相关联功能的代码片段. 函数能提高应用的模块行,使代码逻辑更加的条理清晰. 内建函数 内建函数是Python中自带的,可供用户重复 ...

  5. python第三方库中函数调用_Python学习笔记(2)——Python的函数、模块、包和库...

    初识Python,对于没有接触过编程的我,恐怕只能听懂什么是函数,这里介绍一下几个概念,并给出Python在调用方面的独特之处. 函数 理解为数学上的函数就可以了.下载安装完python后,并不是所有 ...

  6. python用缩进来写模块_python学习笔记

    一.基础简介 1.#!/usr/bin/python #!/usr/bin/python 相当于写死了 python 路径 #!/usr/bin/env python 会去环境设置寻找 python ...

  7. python通过封装可以实现代码复用_Python学习笔记(五)函数和代码复用

    函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Python提供了许多内建函数,比如print().同样,你也可以自己创建函数, ...

  8. python内建函数测试对象身份_python 学习笔记day03-python基础、python对象、数字、函数...

    python基础 语句和语法 注释及续行 首要说明的是:尽管python可读性最好的语言之一,这并不意味者程序员在代码中就可以不写注释 和很多UNIX脚本类似,python注释语句从#字符开始 注释可 ...

  9. python的init方法在哪个模块_Python学习笔记(九)——Python _init_特殊方法和模块...

    一.特殊方法 特殊方法就是形如_future_\_main_这类方法的统称. 1.特殊方法 #__init__构造方法 class FooBar: def __init__(self): #构造方法, ...

  10. python定义函数的组成部分有_Python学习笔记之函数的定义和作用域实例详解

    本文实例讲述了Python函数的定义和作用域.分享给大家供大家参考,具体如下: 定义函数 默认参数: 可以向函数中添加默认参数,以便为在函数调用中未指定的参数提供默认值 # 如果调用 cylinder ...

最新文章

  1. Linux下redis的安装(适用centos)
  2. 2019年中国重点大学排名发布,北大第1,清华第2,浙大第5
  3. linux安装oracle出现os,linux下安装oracle
  4. ajax 微信code获取_ajax 实现微信网页授权登录的方法
  5. OJ4121 and OJ2968-股票买卖 and Maximun sum【各种dp之6 and 9】
  6. 信息学奥赛一本通(1329:【例8.2】细胞)
  7. anaconda下python2和python3环境共存
  8. FFmpeg的Android平台移植—编译篇(验证可用)
  9. 明解C语言第四章习题
  10. echarts 力导向图
  11. 高仿京东分类效果(Scroll+Fragment)
  12. h3csnmp管理命令_华为H3C交换机SNMP配置命令
  13. C语言开发七彩连珠游戏,七彩连珠游戏介绍 七彩连珠单机版运行及玩法介绍
  14. 金山办公推出协同办公全家桶 WPS升级为超级工作入口
  15. centos7快速搭建KMS服务器
  16. rostopic发送cmd_vel指令
  17. Easyconnect For Mac 最新版 下载地址
  18. 如何在linux终端创建txt文件,在Linux中,如何使用 命令行 快速创建一个文本文件...
  19. 如何发布一个本地网站
  20. 计算机网络Wireshark实验-棋歌教学网

热门文章

  1. 《天谕》全新PBR技术曝光 布料纹路清晰可见
  2. PYTHON2.day06
  3. 10亿个数中求最大的10个数字
  4. Using Oracle Data Integrator Open Tools
  5. 【Hibernate一】概述及入门
  6. Lua学习笔记9:多文件
  7. Java编程,打印昨天的当前时刻
  8. delete容易出错的地方
  9. linux进程通讯-纯文本文件1
  10. 计算机难点知识,(必先看)计算机文化基础知识难点