模块编程(python)
模块
模块导入
-
使用import 模块名
-
每一个python代码页 都属于一个模块
-
安装外部模块 指令 pip install module_name
内置模块
系统调用交互模块 os
-
os.getcwd() str 返回当前python工作路径绝对路径
-
os.listdir() 获取文件目录所有文件名
-
os.mkdir() 创建一个目录 文件夹存在时无法创建
-
os.makedir() 创建多个文件夹
-
os.remove()删除文件 无法按删除目录
-
os.removedirs()删除空的目录
-
os.renames(old,new) 重命名目录或文件
-
os.path ::::
-
os.path.isdir 判断是不是一个目录
-
os.path.isfile 判断是不是一个文件
-
file 当前文件路径 在命令行只能返回文件名
-
os.path.abspath(file)获取文件绝对路径
-
os.path.exists()判断路径是否存在
-
os.path.join(路径左,路径右) 拼接路径
-
os.path_getsize(path) .获取文件大小 单位字节
-
os.stat(file_path)获取标准信息 上一次访问 最后一次修改 创建时间
-
os.work()递归查找目录下所有的文件
-
os.chdir()修改当前工作目录
-
os.getpid()获取线程的ID
系统调用交互模块 sys
-
argv 命令行参数 返回一个列表
-
path 查看模块导入时搜索的路径
-
stdout.write()输出在打印台
-
stdin.readline() 接收用户输入
-
system 执行命令
random随机模块
- random()默认是0-1的浮点
- randrange(num, num, stop) 范围随机
- randint(num, num, stop)随机整数
- choice(iter)随机从序列中拿出一个元素
- choices(iter,weight, k)随机拿出几个元素生成列表放进去
- shuffle()将一个序列打乱
- sample()随机从序列里拿出一个不同的元素
time模块
-
python中有三种时间格式:
格式化时间
时间戳
元组时间 -
time.time()
时间戳(timestamp):
表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。例子:1554864776.161901
UTC世界协调时
元租方式 共有九个元素
方法
将时间戳转换成
格式化时间:
time.struct_time
(tm_year=2021, tm_mon=5, tm_mday=13, tm_hour=16, tm_min=7, tm_sec=7, tm_wday=3, tm_yday=133, tm_isdst=0)
- print(time.ctime(时间戳)) #获取格式化时间 将时间戳转化成 格式化时间(默认返回当前时间格式)
- print(time.asctime(九元素时间)) #获取格式化时间
- print(time.localtime(时间戳)) #获取(九元素)元组时间
获取当前时间 字符串时间
转换方法
-
格式化时间转换成 元组时间 time.striptime("格式化时间")
-
元组时间转成时间戳 time.mktime(struct_time((九元素)元组))
-
时间戳转成 元组时间 time.gmtime(时间戳)
-
元组时间转成格式化时间 time.strftime("%Y-%m-%d %H:%M:%S", (九元素)元组)
-
sleep()方法 让程序休息 单位秒
%y 两位数的年份表示
%Y 四位数的年份表示
%m 月份
%d 月内的一天
%H 24小时制表示
%I 12小时制表示
M 分钟
S 秒钟
w 星期几
W 一年中的星期天数
datetime 模块
now_date = datetime.datatime.now()
josn/pickle 模块
- dumps()将数据转换成只有python解释器认识的字符串
- dump()将数据转换成bytes格式
- load() 从文件里加载 出来
- loads() 从文件里记载
import json
- json.dumps 将数据通过特殊的形式转换位所有程序语言都认识的字符串
j_str = json.dumps(data) # 注意json dumps生成的是字符串,不是bytes
print(j_str) - dump入文件
with open('result.json','w') as fp:
json.dump(data,fp)
从文件里load
with open("result.json") as f:
d = json.load(f)
print(d)
json vs pickle:
JSON:
优点:跨语言(不同语言间的数据传递可用json交接)、体积小
缺点:只能支持int\str\list\tuple\dict
Pickle:
优点:专为python设计,支持python所有的数据类型
缺点:只能在python中使用,存储数据占空间大
hashlib加密
md5 sha1 sha256 不可逆算法
base64 可逆算法
hashlib.md5("加盐内容")
msg = 'asldkjaskljd'.encode("utf-8")
md5 = hashlib.md5(msg)
放入加密的bytes字符串
md5.update(msg)
- 查看加密后得输出方式
md5.digst() 二进制表示方式
md5.hexdigst()十六进制的表示方式
hashlib.sha1()
hashlib.sha256()
hashlib.sha512()
re 字符串匹配模块
过滤字符串 目的是拿到想要的字符串
Regular Expression RE
一:
compile("")指定规则
match("匹配规则", 需要过滤的字符串) # 只要从开头进行匹配 匹配不成功返回None
search("") 查找全部字符串
findall() 查找全部字符串
\d{}匹配数字
\w{}可以匹配中文,字母,数字
\s 可以匹配空格
[\u4e00-\u9fa5] 汉字在Unicode码中的范围

浙公网安备 33010602011771号