Py-时间,随机,os,sys,jsonpickle序列化,shelve,xml模块
内置模块
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模块的更多相关文章
- Python常用模块(logging&re&时间&random&os&sys&shutil&序列化&configparser&&hashlib)
一. logging(日志模块) 二 .re模块 三. 时间模块 四. random模块 五. os模块 六. sys模块 七. shutil模块 八. 序列化模块(json&pickle&a ...
- 学到了林海峰,武沛齐讲的Day22-完 os sys json pickle shelve XML re
__ file__ ===== 文件路径 os.path.dirname( 路径 )=======到上一层目录 os sys
- 常用模块之 os,json,shelve,xml模块
os 即操作系统 在 os 中提供了很多关于文件,文件夹,路径处理的函数 这是我们学习的重点 os.path 是os模块下专门用于处理路径相关的 python是一门跨平台语言,由于每个平台路径规则不同 ...
- Python day19 模块介绍3(sys,json,pickle,shelve,xml)
1.sys模块 import sys sys.path()#打印系统path sys.version()#解释程序版本信息 sys.platform()#系统平台 sys.exit(0)#退出程序 c ...
- python模块--json \ pickle \ shelve \ XML模块
一.json模块 之前学习过的eval内置方法可以将一个字符串转成一个python对象,不过eval方法时有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候,e ...
- time,datetime,random,os,sys,hashlib,logging,configparser,re模块
#-----time模块----- print(help(time)) #打印time帮助文档 print(time.time()) #打印时间戳 1569824501.6265268 time.sl ...
- 模块random+os+sys+json+subprocess
模块random+os+sys+json+subprocess 1. random 模块 (产生一个随机值) import random 1 # 随机小数 2 print(random.rando ...
- python全栈开发day17-常用模块collections,random,time,os,sys,序列化(json pickle shelve)
1.昨日内容回顾 1.正则表达式 # 正则表达式 —— str # 检测字符串是否符合要求 # 从大段的文字中找到符合要求的内容 1).元字符 #. # 匹配除换行 ...
- python基础之 序列化,os,sys,random,hashlib
1.序列化 定义: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然 ...
随机推荐
- 软件测试最常用的 SQL 命令 | 掌握基本查询、条件查询、聚合查询
1.DML核心CRUD增删改查 缩写全称和对应 SQL: * DML 数据操纵语言:Data Manipulation Language * Create 增加:insert * Retrieve 查 ...
- VMware虚拟机安装Win7填坑
今天本想赶紧安装Win7虚拟机做个实验,结果鼓捣了一天,写个文章填下坑. 一.Win7镜像文件下载 下载ISO镜像地址:http://msdn.itellyou.cn/ 二.安装tools VMwar ...
- python k-means聚类实例
port sys reload(sys) sys.setdefaultencoding('utf-8') import matplotlib.pyplot as plt import numpy as ...
- 探究虚拟dom与diff算法
一.虚拟DOM (1)什么是虚拟DOM? vdom可以看作是一个使用javascript模拟了DOM结构的树形结构,这个树结构包含整个DOM结构的信息,如下图: 可见左边的DOM结构,不论是标签名 ...
- 更改Cmder的λ符号为自定义符号/文字
此次修改cmder Version为1.3.12.915 Step1. 进入\cmder\vendor\目录,打开clink.lua文件,在51行将ocal lambda = "λ" ...
- 编程漫谈(二十):如何自学编程及Java、上手真实开发及转行程序员的建议
前路漫漫,吾将上下而求索! 最近有时在知乎上逛逛,发现很多人对自学编程及转行程序员有困惑.我是在25岁读研时转程序员,正赶上好时候(中国云计算刚刚起步及移动互联网正红的阶段),同时又走了不少弯路,因此 ...
- JavaDailyReports10_13
今天完成了课堂测试二的内容要求,开阔了编程的思路,学到了很多程序设计思想,为以后的学习提供了很多帮助. 明天开始继续完善四则运算的程序,并且开始JavaWeb的学习!
- 1.简单使用两片74HC595实现动态显示数码管
本篇文章主要是讲解如何简单示用74HC595,更具体的讲解请移步 https://www.cnblogs.com/lulipro/p/5067835.html#undefined 这篇文章讲解的更加详 ...
- 「译」使用 System.Net.Http.Json 高效处理Json
在这篇文章,我将介绍一个名为 System.Net.Http.Json 的扩展库,它最近添加到了 .NET 中,我们看一下这个库能够给我们解决什么问题,今天会介绍下如何在代码中使用. 在此之前我们是如 ...
- Java 初中级程序员如何快速成长???
Java 技术学习路线 Java 语言是一门非常流行和重要的语言,目前仍是需求量很大的语言,应用范围很广的语言,在企业级开发.移动开发.大数据云计算.人工智能等领域都有大量的应用. 怎么样学习好 Ja ...