内置模块

1.时间模块

第一:time.time()是时间戳

时间戳默认是 从1970年到现在过的秒数,是一个很长的数值
它可以做时间的计算以及显示

第二:localtime()

获取当前的时间,按元组来存放

import time
t=time.localtime()
print(t.tm_year) #打印当前年份
print(t.tm_wday) #打印当前一周的第几天

第三:世界标准时间

print(time.gmtime)  #打印英国的东区西区时间分界线的时间

第四:可以将结构化时间转换为时间戳好进行计算

t=time.localtime()  #获取一个结构化时间(当前时间)
print(time.mktime()) mktime用于结构化时间转换成时间戳

第五:将结构化时间转换成字符串时间

import time
print(time.strftime('%Y-%m-%d %X,time.localtime())) #Y是年,m是月,d是天,X是时分秒

第六:将字符串时间转换为结构化时间

以下程序将字符串的2016年12月23日17时50分36秒转换为结构化时间

import time
print(time.strptime('2016:12:23:17:50:36','%Y:%m:%d:%X'))

第七:系统自带的格式化时间函数,固定格式

import time
print(time.asctime())

2.random模块

第一:random.random是0-1之间的浮点数

import random
print(random.random())
print(random.random())
print(random.random())

第二:random.randint是取闭区间内的整数

import random
print(random.randint(1,3))

第三:randrange是取某个区间内的随机整数,不包含右端

import random
print(random.randrange(1,3))
print(random.randrange(1,3))

第四:choice随机某些自选的数

import random
print(random.choice([12,33,41]))
print(random.choice([12,33,41]))

第五:随机在区间内选取两个

import random
print(random.sample([12,33,41],2))
print(random.sample([12,33,41],2))

第六:随机取区间范围的浮点型

import random
print(random.uniform(1,2))
print(random.uniform(1,2))

第七:把次序打乱

import random
ret=[1,2,3,4,5]
random.shuffle(ret)
print(ret)

第八,综合实例:验证码程序

import random
def v_code():
ret=''
for i in range(5):
num=random.randint(0,9) #num为0-9里面随机抽出一个
alf=random.choice(['a','b','c','d','e','f','g','h']) #alf为a-h里面随机抽出一个
s=str(random.choice([num,alf])) #将随机的一个数字和一个字母放进一个列表然后choice选出其中一个
ret=s+ret #进行拼接
return ret
print(v_code())

3.os模块

第一:os.getcwd用于获取工作目录

import os
print(os.getcwd())
#如果要找当前的py文件的路径用__file__

第二:os.chdir('文件夹名称')用于改变工作目录文件夹,往里面输字符可以工作目

录变成那个字符的文件夹

os.chdir('..')用于改变工作目录文件夹,往里面输..可以工作目
录变成那个上一级的文件夹

import os
print(os.getcwd())
os.chdir('module')
print(os.getcwd())
os.chdir('..')
print(os.getcwd())

第三:os.makedirs()用于在当前工作目录生成文件夹

import os
print(os.getcwd())
os.chdir('module')
print(os.getcwd())
os.chdir('..')
print(os.getcwd())
os.makedirs('abcd/abc') #可以在工作目录下生成多个文件夹,这句话生成了abcd,然后在abcd
print(os.getcwd()) #里面又生成了一个abc

第四:removedirs用于在当前工作目录删除文件夹

import os
print(os.getcwd())
os.chdir('module')
print(os.getcwd())
os.chdir('..')
print(os.getcwd())
os.removedirs('abcd/abc')
print(os.getcwd())

第五:打印工作目录下面的所有文件并且放进列表os.listdir()

import os
print(os.listdir())

第六:os.rename()给工作路径的文件改名字

第七: os.stat('需要查询的py文件')给出要查询的py文件的一系列数值

import os
print(os.stat('bin.py'))
#注意里面的st_size是文件的字节大小,st_atime是用户上一次的访问时间
#st_mtime是最近一次的修改时间 #st_ctime是创建时间

第八:输出当前操作系统使用的行终止符

import os
print(os.linesep)

第九:输出当前操作系统分割文件路径的字符串

import os
print(os.pathsep)

第十:split把path分割成路径和名字

import os
crpath=__file__ #获取py的路径,然后分割成文件名和它的路径放进元组
print(os.path.split(crpath))

第十一:dirname用于取文件前面的路径,basename用于取文件名

import os
crpath=__file__ #获取当前py的路径
print(os.path.dirname(crpath))
print(os.path.basename(crpath))

第十二:exists()

os.path.exists(path)如果path存在,返回true,不存在返回false

第十三:isabs判断绝对路径

os.path.isabs(path)判断path是不是绝对路径,是的话返回true

第十四:路径拼接join

import os
crpath=__file__ #获取当前py的路径
a=os.path.dirname(crpath)
b=os.path.basename(crpath)
print(os.path.join(a,b))

第十五:返回指向文件或者目录的最后访问时间getatime

返回指向文件或者目录的最后修改时间getmtime

第十六:以下可以使用os获取上一层的上一层的地址

base_dir=os.path.dirname(os.path.dirname(__file__))

4.sys模块

第一:sys模块可以修改环境变量(临时性,不会永久修改)

import sys
sys.path.append('里面填写环境变量绝对地址路径')

第二:直接中止退出程序sys.exit(0)

import sys
print('asad')
sys.exit(0)
print('a3213d')

第三:获取当前的环境变量的位置sys.path

import sys
print(sys.path)

第四,获取当前py文件的路径并且放进列表中

import sys
print(sys.argv)

第五:利用sys制作进度条,需要flash刷新缓存,不然会一次性

把#全部显示出来

import time
import sys
for i in range(10):
abs=sys.stdout.write('#')
time.sleep(0.2)
sys.stdout.flush()

5.json模块(序列化),主要用于和其他语言的数据交换,比如c,php之类的

转换成字符串好传入文件内传输

import json
dic={'name':'alex'}
data=json.dumps(dic)
print(data) #json.fumps用于转换字符串,且只有" 没有'
print(type(data))

第二:将字符串回归成原来的格式json.loads

用于字符串转换字典,字符串转列表,字符串转数字
字典转换字符串,列表转字符串,数字转字符串

import json
dic='[1,2,3]'
dic1='{"ad":"ASd"}'
dic2='2'
data1=json.loads(dic)
data2=json.loads(dic1)
data3=json.loads(dic2)
print(data1)
print(type(data1))
print(data2)
print(type(data2))
print(data3)
print(type(data3))

6.pickle是转换成字节(序列化),序列化是吧数据变成可传输的

dumps用于转换成字节,loads用于转换回原来的形式

import pickle
dic='[1,2,3]'
dic1='{"ad":"ASd"}'
dic2='2'
data1=pickle.dumps(dic)
data2=pickle.dumps(dic1)
data3=pickle.dumps(dic2)
print(data1)
print(type(data1))
print(data2)
print(type(data2))
print(data3)
print(type(data3))
fback=pickle.loads(data1)
print(fback)

7.shelve模块,shelve把字典写入文件,给字典专属名字

import shelve
f.shelve.open(r'shelvel')
f['stu1_info']={'name':'alex','age':'18'} #利用shelve写入字典,给字典专属名字
f['stu2_info']={'name':'abir','age':'182'}
f['school_info']={'name':'sdadsa'}
print(f.get('stu1_info')['age']) #利用那个专属的名字来调用字典内的值

8.xml

xml_lesson内容:
<data>
    <country name='a'>
        <gdp>123</gdp>
    </country>
    <country name='b'>
        <gdp>1sda23</gdp>
    </country>
    <country name='c'>
        <gdp>13</gdp>
    </country>
</data>

程序

import xml.etree.ElementTree as ET
tree = ET.parse('xml1') #读取xmllesson里面的内容放在tree里面
root = tree.getroot()#获取tree里面的根节点,也就是那个xml里的根data
print(root.tag) #打印根节点的标签
for i in root:
print (i.tag) #打印内部节点i的标签
print(i.attrib) #打印节点里面的属性并放进字典
for j in i:
print(j.attrib) #因为gdp没有属性只有值,所以打印时为空
print(j.text) #用text显示中间的值
#以下是删除程序
for country in root.findall('country'):
checkgdp=(country.find('gdp').text)
if checkgdp=='13':
root.remove(country)
tree.write('xml1change1.xml')
#以下是修改程序
for node in root.iter('gdp'): #取出根内的gdp标签里面的数据
gdpget=str(node.text) #取gdp里面的值,并且转换为字符串格式
node.text='abcd'
tree.write('xml1change.xml')

Py-时间,随机,os,sys,jsonpickle序列化,shelve,xml模块的更多相关文章

  1. Python常用模块(logging&re&时间&random&os&sys&shutil&序列化&configparser&&hashlib)

    一. logging(日志模块) 二 .re模块 三. 时间模块 四. random模块 五. os模块 六. sys模块 七. shutil模块 八. 序列化模块(json&pickle&a ...

  2. 学到了林海峰,武沛齐讲的Day22-完 os sys json pickle shelve XML re

    __ file__    =====   文件路径 os.path.dirname( 路径 )=======到上一层目录 os sys

  3. 常用模块之 os,json,shelve,xml模块

    os 即操作系统 在 os 中提供了很多关于文件,文件夹,路径处理的函数 这是我们学习的重点 os.path 是os模块下专门用于处理路径相关的 python是一门跨平台语言,由于每个平台路径规则不同 ...

  4. Python day19 模块介绍3(sys,json,pickle,shelve,xml)

    1.sys模块 import sys sys.path()#打印系统path sys.version()#解释程序版本信息 sys.platform()#系统平台 sys.exit(0)#退出程序 c ...

  5. python模块--json \ pickle \ shelve \ XML模块

    一.json模块 之前学习过的eval内置方法可以将一个字符串转成一个python对象,不过eval方法时有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候,e ...

  6. time,datetime,random,os,sys,hashlib,logging,configparser,re模块

    #-----time模块----- print(help(time)) #打印time帮助文档 print(time.time()) #打印时间戳 1569824501.6265268 time.sl ...

  7. 模块random+os+sys+json+subprocess

    模块random+os+sys+json+subprocess 1. random 模块   (产生一个随机值) import random 1 # 随机小数 2 print(random.rando ...

  8. python全栈开发day17-常用模块collections,random,time,os,sys,序列化(json pickle shelve)

    1.昨日内容回顾 1.正则表达式     # 正则表达式 —— str           # 检测字符串是否符合要求     # 从大段的文字中找到符合要求的内容 1).元字符 #. # 匹配除换行 ...

  9. python基础之 序列化,os,sys,random,hashlib

    1.序列化 定义: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然 ...

随机推荐

  1. SpringBoot从入门到精通教程(四)

    前端时间整合SSM ,发现了一个现象,在整合的时候 配置文件过于复杂. 1.建工程,建目录,导入jar包. 2.配置 数据源 映射信息 等等 ... 3. 还有 各种 拦截器,控制器 ,头都大了... ...

  2. 利用Python将PDF文档转为MP3音频

    1. 转语音工具 微信读书有一个功能,可以将书里的文字转换为音频,而且声音优化的不错,比传统的机械朗读听起来舒服很多. 记得之前看到过Python有一个工具包,可以将文字转换为语音,支持英文和中文,而 ...

  3. python线性回归

    一.理论基础 1.回归公式 对于单元的线性回归,我们有:f(x) = kx + b 的方程(k代表权重,b代表截距). 对于多元线性回归,我们有: 或者为了简化,干脆将b视为k0·x0,,其中k0为1 ...

  4. Raft算法系列教程2:状态机复制 (State Machine Replication)

    分区容错如何保证? 在分布式系统设计中,需要遵循CAP理论,如果我们要让一个服务具有容错能力,那么最常用最直接的办法就是让一个服务的多个副本同时运行在不同的节点上.但是,当一个服务的多个副本都在运行的 ...

  5. .netcore 微服务快速开发框架 Anno&Viper 注册中心 (服务上线下线预警通知)

    1.微服务时代,服务上线先预警通知 在微服务大行其道的今天,相信很多人都用上了微服务或者是微服务的概念也已经有了一个深刻的了解.今天我们不在这里展开阐述,今天我们要说的是微服务伴侣预警通知. 2.注册 ...

  6. 1.mysql表优化和避免索引失效原则

    表优化 1.单表优化 建立索引 根据sql的实际解析顺序建立复合索引 最佳左前缀,保持索引的定义和使用顺序一致 2.多表优化 连接查询 小表驱动大表:对于双层循环来说,外层循环(数据量)越小,内层循环 ...

  7. 怎么判断map不为空

    public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...

  8. h5问题总结

    一.下拉刷新上拉加载 主要依赖一款插件mescroll.js  http://www.mescroll.com/ 简单好用.以前同事的用法是初始化执行执行上拉会调,页数从0开始,下拉重新加载当前地址走 ...

  9. 关闭layer

    function closeBox() { var index = parent.layer.getFrameIndex(window.name); //获取当前窗体索引 parent.layer.c ...

  10. 【探索之路】机器人篇(3)-给mwRobot建立模型

    在创建一个mwRobot_description程序包那一节中,我们添加了依赖roscpp  rospy std_msgs 和 urdf , 现在我们再添加一个xacro依赖. 如何添加依赖? 打开程 ...