Python3一些标准类库的使用
撰写时间: 2019-03-28 总共: 2845 字 转载请注明: BY-SA 4.0(除特别声明或转载文章外)
随机数和时间处理模块
提供time 模块格式化时间等。
时间戳:格林威治时间1970年01月01日00时00分00秒
(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
首先需要引入模块
import time
#返回一个cpu级别的精确时间数值单位为秒,调用差值有用
start =time.perf_counter()
print(start)
end = time.perf_counter()
print(end-start)
def wait():
#休眠0.1秒退出
time.sleep(0.1)
#获得硬件时间
t=time.gmtime()
#时间变成字符串
timeStr=time.strftime("%Y-%m-%d %H:%M:%S",t)
#时间格式化
# %Y %m %d 年月日,
# %B月份名 %b 月份名缩写,
# %A %a 星期星期缩写
# %H 24小时制,%h12小时制,%p上下午
# 字符串变成时间
timeStr2=time.strptime(timeStr,"%Y-%m-%d %H:%M:%S")
#获取当前时间戳
timeStr3=time.time()
print(timeStr3)
#获取当前时间,并以易读方式返回一个字符串
print(time.ctime())
实现一个进度条的控制
import time
scale = 50
print("开始".center(scale//2, "-"))#两边-填充
start_time = time.perf_counter()#计时
for i in range(scale+1):
a = '*' * i
b = '·' * (scale-i)
c = (i/scale) * 100
dur = time.perf_counter() - start_time#总时间
print("{:^3.0f}%[{}{}]{:.3f}s".format(c,a,b,dur),end=" \r ")
time.sleep(0.1)
print("\n"+"结束".center(scale//2,'-'))
实现使用随机数进行圆周率的计算并统计时间
random()
方法返回随机生成的一个实数,它在[0,1)范围内
from random import random
from time import perf_counter
darts=1000*1000
hits=0.0
start=perf_counter()
for i in range(1,darts+1):
x,y=random(),random()
dist = pow(x**2+y**2,0.5)
if dist <= 1.0 :
hits += 1
pi=4*(hits/darts)
print("圆周率:{}".format(pi))
print("time:{:.5f}s".format(perf_counter()-start))
操作系统接口模块
os模块提供通用的基本的操作系统交互功能,常用路径操作、进程管理、环境参数
导入模块:
import os
import os.path as op
#路径操作:os.path()子库,处理文件路径及信息
#使用import os.path或者,import os.path as op ,op为别名
获取路径
#返回path(文件或者)在当前系统中的绝对路径
os.path.abspath("path")
op.abspath("path")
#归一化path表示形式,统一用\\分隔路径
os.path.normpath("path")
op.normpath("path")
#返回当前程序与文件之间的相对路径
os.path.realpath("path")
获得路径中文件或者目录名组合成路径等
#返回path中的目录名称
os.path.dirname("path")
#返回path中最后的文件名称
os.path.basename("path")
#组合path和paths,返回一个路径字符串
os.path.join(path,*paths)
判断文件或者目录的存在与否
#判断path对应文件或者目录是否存在,返回True or False
os.path.exists("path")
#判断是否存在对应的文件或者目录
os.path.isfile("path")//os.path.isdir("path")
文件或者目录的相关属性,如操作时间修改,创建,大小
#返回对应文件或者目录上一次访问时间,
#最近一次修改时间,
#或者创建时间
os.path.getatime(path)
os.path.getmtime()
os.path.getctime()
#返回对应文件的大小以字节为单位
os.path.getsize(path)
进程管理:启动系统中其他程序
#执行程序或者命令command,在win里返回为cmd的调用返回信息
os.system(command)
环境参数:获得系统软硬件信息等的环境参数
#修改当前程序的路径
os.chdir("path")
#返回程序当前路径
os.gtcwd()
#获得当前系统登录用户名
os.getlogin()
#获得当前系统的CPU数量
os.cpu_count()
#产生n个字节长度的随机字符串,通常用于加解密运算
os.urandom(n)
比如自动安装脚本
#自动化安装脚本
import os
lib={
"numpy","matplotlib","pillow",
"sklearn","requests","jieba",
"beautifulsoup4","wheel","networkx",
"sympy","pyinstall","django",
"flask","werobot","pyqts",
"pandas","pyopengl","pypdf2",
"docopt","pygame"
}
try:
for lib in libs:
os.system("pip install "+lib)
print("Successful")
except:
print("Failed Somehow")
正则表达式
re模块让python拥有了全部的正则表达式的功能。
import re
#编译一个正则生成一个正则表达式对象。
pattern = re.compile(r'\d+')
string = 要匹配的字符串
flags = 控制正则表达式的匹配方法
#尝试从字符串的起始位置匹配,如果不是起始位置匹配成功的话返回none
re.match(pattern, string, flags=0)
#扫描整个字符串并返回第一个成功的匹配
re.search(pattern, string, flags=0)
JSON处理
使用 json模块进行数据的编码和解码。
import json
data = {
'1':one,
'2':two,
}
#将字典转变为一个json
json_data = json.dumps(data)
print(data)
print(json_data)
#Json转为字典
data_ = json.loads(json_data)
print(data_)