Python3一些标准类库的使用

随机数和时间处理模块

提供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_)


奖励一下