公司新闻
Company news
一、时间模块(time)
在学习模块之前我们所接触的时间模块
简单使用
表示时间的三种方式
在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串:
1、时间戳(timestamp) :时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量
2、格式化的时间字符串(Format String):2017-8-8
python中时间日期格式化符号
3、元组(struct_time) :struct_time元组共有9个元素共九个元素:time.struct_time(tm_year=2017, tm_mon=8, tm_mday=8, tm_hour=16, tm_min=37, tm_sec=23, tm_wday=1, tm_yday=220, tm_isdst=0)
python中时间日期结构化属性
python中表示时间的几种格式
表示时间的格式
小结:时间戳是计算机能够识别的时间;时间字符串是人能够看懂的时间;元组则是用来操作时间的
几种格式之间的转换
时间格式转化
注意:格式化和时间戳不能直接转换
生成固定格式的时间表示格式
View Code
二、romdom模块
import random#随机小数random.random() # 大于0且小于1之间的小数random.uniform(1,3) #大于1小于3的小数#随机整数random.randint(1,5) # 大于等于1且小于等于5之间的整数random.randrange(1,10,2) # 大于等于1且小于10之间的奇数#随机选择一个返回random.choice([1,'23',[4,5]]) # #1或者23或者[4,5]#随机选择多个返回,返回的个数为函数的第二个参数random.sample([1,'23',[4,5]],2) # #列表元素任意2个组合#打乱列表顺序item=[1,3,5,7,9]
三、sys模块
sys模块是与python解释器交互的一个接口
sys.argv 命令行参数List,第一个元素是程序本身路径
import sysprint(sys.argv)# name = sys.argv[1]# password = sys.argv[2]# if name == 'egon' and password == 'somebody':# print('继续执行程序')# else:# exit()# sys.exit()print(sys.version)print(sys.maxsize)print(sys.path)# sys.path.clear() #清除下载的模块import requestsprint(sys.platform)
四、os模块
os模块是与操作系统交互的一个接口
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cdos.curdir 返回当前目录: ('.')os.pardir 获取当前目录的父目录字符串名:('..')os.makedirs('dirname1/dirname2') 可生成多层递归目录os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirnameos.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirnameos.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印os.remove() 删除一个文件os.rename("oldname","newname") 重命名文件/目录os.stat('path/filename') 获取文件/目录信息os.sep 输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"os.linesep 输出当前平台使用的行终止符,win下为" ",Linux下为""os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为:os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'os.system("bash command") 运行shell命令,直接显示os.popen("bash command) 运行shell命令,获取执行结果os.environ 获取系统环境变量os.pathos.path.abspath(path) 返回path规范化的绝对路径 os.path.split(path) 将path分割成目录和文件名二元组返回
注意:os.stat('path/filename') 获取文件/目录信息 的结构说明
stat 结构
五、序列化模块
什么叫序列化——将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化
提到转换我们就会想到一个内置函数eval(),这么强大的函数我们为什么不建议大家用呢?eval()可以将字符串str当成有效的表达式来求值并返回计算结果。这么强大的功能使它有一个致命的缺点:安全性。如果我们从文件中读出的不是一个数据结构,而是一句具有破坏性的语句,那么后果实在不堪设设想。而使用eval就要担这个风险。
序列化的目的
1、以某种存储形式使自定义对象持久化;
2、将对象从一个地方传递到另一个地方。
3、使程序更具维护性。
1、json模块
Json模块提供了四个功能:dumps、dump、loads、load:
方法简介
2、pickle模块
和json区别:你序列化的内容如果是列表或者字典,使用json模块。但如果序列化其他的数据类型,而未来你还会用python对这个数据进行反序列化的话,那么就可以使用pickle。如果是使用json序列化的其他语言可以使用,pickle不可以。
pickle模块提供了四个功能:dumps、dump、loads、load:
方法简介
3、shelve模块
shelve只提供给我们一个open方法,是用key来访问的,使用起来和字典类似。
方法使用
使用writeback以后,会增加额外的内存消耗
思维图给大家放一下,
前学了两个常用的模块collections和re模块今天我们接着学习其他几个常用模块。都是比较常用的之前的学习或多或少也有所接触比如说时间模块等。
预习:
预习题
一、时间模块(time)
在学习模块之前我们所接触的时间模块
简单使用
表示时间的三种方式
在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串:
1、时间戳(timestamp) :时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量
2、格式化的时间字符串(Format String):2017-8-8
python中时间日期格式化符号
3、元组(struct_time) :struct_time元组共有9个元素共九个元素:time.struct_time(tm_year=2017, tm_mon=8, tm_mday=8, tm_hour=16, tm_min=37, tm_sec=23, tm_wday=1, tm_yday=220, tm_isdst=0)
python中时间日期结构化属性
python中表示时间的几种格式
表示时间的格式
小结:时间戳是计算机能够识别的时间;时间字符串是人能够看懂的时间;元组则是用来操作时间的
几种格式之间的转换
时间格式转化
注意:格式化和时间戳不能直接转换
生成固定格式的时间表示格式
View Code
二、romdom模块
import random#随机小数random.random() # 大于0且小于1之间的小数random.uniform(1,3) #大于1小于3的小数#随机整数random.randint(1,5) # 大于等于1且小于等于5之间的整数random.randrange(1,10,2) # 大于等于1且小于10之间的奇数#随机选择一个返回random.choice([1,'23',[4,5]]) # #1或者23或者[4,5]#随机选择多个返回,返回的个数为函数的第二个参数random.sample([1,'23',[4,5]],2) # #列表元素任意2个组合#打乱列表顺序item=[1,3,5,7,9]
三、sys模块
sys模块是与python解释器交互的一个接口
sys.argv 命令行参数List,第一个元素是程序本身路径
import sysprint(sys.argv)# name = sys.argv[1]# password = sys.argv[2]# if name == 'egon' and password == 'somebody':# print('继续执行程序')# else:# exit()# sys.exit()print(sys.version)print(sys.maxsize)print(sys.path)# sys.path.clear() #清除下载的模块import requestsprint(sys.platform)
四、os模块
os模块是与操作系统交互的一个接口
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cdos.curdir 返回当前目录: ('.')os.pardir 获取当前目录的父目录字符串名:('..')os.makedirs('dirname1/dirname2') 可生成多层递归目录os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirnameos.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirnameos.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印os.remove() 删除一个文件os.rename("oldname","newname") 重命名文件/目录os.stat('path/filename') 获取文件/目录信息os.sep 输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"os.linesep 输出当前平台使用的行终止符,win下为" ",Linux下为""os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为:os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'os.system("bash command") 运行shell命令,直接显示os.popen("bash command) 运行shell命令,获取执行结果os.environ 获取系统环境变量os.pathos.path.abspath(path) 返回path规范化的绝对路径 os.path.split(path) 将path分割成目录和文件名二元组返回
注意:os.stat('path/filename') 获取文件/目录信息 的结构说明
stat 结构
五、序列化模块
什么叫序列化——将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化
提到转换我们就会想到一个内置函数eval(),这么强大的函数我们为什么不建议大家用呢?eval()可以将字符串str当成有效的表达式来求值并返回计算结果。这么强大的功能使它有一个致命的缺点:安全性。如果我们从文件中读出的不是一个数据结构,而是一句具有破坏性的语句,那么后果实在不堪设设想。而使用eval就要担这个风险。
序列化的目的
1、以某种存储形式使自定义对象持久化;
2、将对象从一个地方传递到另一个地方。
3、使程序更具维护性。
1、json模块
Json模块提供了四个功能:dumps、dump、loads、load:
方法简介
2、pickle模块
和json区别:你序列化的内容如果是列表或者字典,使用json模块。但如果序列化其他的数据类型,而未来你还会用python对这个数据进行反序列化的话,那么就可以使用pickle。如果是使用json序列化的其他语言可以使用,pickle不可以。
pickle模块提供了四个功能:dumps、dump、loads、load:
方法简介
3、shelve模块
shelve只提供给我们一个open方法,是用key来访问的,使用起来和字典类似。
方法使用
使用writeback以后,会增加额外的内存消耗
程序还是需要多写,多思考多变化。代码多敲就熟练了,不管天赋怎样,勤能补拙嘛。